要件があります。Date オブジェクトを書式設定された Date オブジェクトに変換したい。
つまり、
`Date d = new Date();System.out.println(d);'
出力: 2012 年 4 月 5 日木曜日 11:28:32 GMT+05:30
出力を05/APR/2012のようにしたい。また、出力オブジェクトは文字列ではなく日付でなければなりません。明確でない場合は、より明確に投稿します
ありがとうございました。
サードパーティの API は必要ありません。DateFormatを使用して、日付形式パターンを提供することで日付を解析/フォーマットするだけです。サンプル コードは次のようになります。
Date date = new Date();
DateFormat df = new SimpleDateFormat("dd/MMM/yyyy");
String formattedDate = df.format(date);
System.out.println(formattedDate.toUpperCase());
答える前に、OPがデータベースオブジェクトを表すために実際にPOJOを使用していることを他の人に知らせます。彼のPOJOの1つに日付型フィールドが含まれています。そして、彼は日付をオラクル形式にしたいと考えていますが、日付オブジェクトのままです。(OPのコメントはこちらから)
Date
クラスを拡張してオーバーライドするだけですpublic String toString();
public class MyDate extends Date
{
@Override
public String toString()
{
DateFormat df = new SimpleDateFormat("dd/MMM/yyyy");
String formattedDate = df.format(this);
return formattedDate;
}
}
そして、POJO で Date オブジェクトを初期化します。
Date databaseDate=new MyDate();
// initialize date to required value.
現在、databaseDate は Date オブジェクトですが、必要な場所に必要な形式を提供します。
編集:データベースは、プログラミング言語のデータ型とは何の関係もありません。POJO がデータベースに挿入されると、すべての値が文字列に変換されます。また、オブジェクトを文字列に変換する方法は、そのクラスの toString メソッドで定義されています。
彼は System.out.println() で Date を使用したいと考えているので、Date クラスを拡張して toString() をオーバーライドすることができます。
コードは次のとおりです。
import java.util.Date;
class date extends Date {
int mm,dd,yy;
date()
{
Date d = new Date();
System.out.println(d);
mm=d.getMonth();
dd=d.getDate();
yy=d.getYear();
}
public String toString()
{ Integer m2=new Integer(mm);
Integer m3=new Integer(dd);
Integer m4=new Integer(yy);
String s=m2.toString() + "/"+ m3.toString() + "/" + m4.toString();
return s;
}
}
public class mai
{
public static void main(String... args)
{
date d=new date();
System.out.println(d);
}
}