Date として宣言された Entity フィールドがあり、Oracle の日付フィールドにマップされています。そのフィールドの値を出力すると、 のような日付形式になります 2013-04-23 09:05:03.0
。
この日付を ISO 8601 形式に変換する必要があります。だから私は使用しました:
System.out.println("Converted Date:" + asXMLGregorianCalendar(retrunedDate);
private static DatatypeFactory df = DatatypeFactory.newInstance();
public static XMLGregorianCalendar asXMLGregorianCalendar(java.util.Date date) {
if (date == null) {
return null;
} else {
DatatypeFactory df = DatatypeFactory.newInstance();
GregorianCalendar gc = new GregorianCalendar();
gc.setTimeInMillis(date.getTime());
return df.newXMLGregorianCalendar(gc);
}
}
次のコードは次を返します。
System.out.println("Converted Date:" + asXMLGregorianCalendar(retrunedDate);
// Output
Converted Date: 2013-04-23T09:05:03.000-05:00
質問:
000
実際の数の代わりがあります。なぜかわからない?0
hibernate の最後は何2013-04-23 09:05:03.0
ですか? 完全な日付を取得するにはどうすればよいですか?
を渡すとDate
、必要な結果が得られます。
System.out.println("Converted Date:" + asXMLGregorianCalendar(new Date());
// Output
Converted Date: 2013-08-23T17:19:15.664-05:00
これが必要です。の代わりに000
、ミリ秒を取得する必要があります。Hibernateは日付で何かをしていますか?