1

datetime現在をフォーマットしてから、休止状態を使用してデータベースに保存しようとしています。デフォルトの日付形式を使用して保存するようにしました。

Date date = new Date();
hibernateObject.setDate(date);
hibernateObject.save(date);

私はそれをフォーマットする方法を見つけましたが、それは本当に乱雑で機能していないようです:

Date finalDate = null;
try {
    Date date = new Date();
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    String sDate = df.format(date);
    finalDate = df.parse(sDate);
} catch (ParseException pe) {
    System.out.println("ParserException while attempting to establish date");
}
hibernateObject.setDate(date);
hibernateObject.save(date);
4

1 に答える 1

3

これを使用してみてください(hibernateObjectクラスで):

@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
public Date getStartDate() {
    return startDate;
}
public void setStartDate(Date startDate) {
    this.startDate = startDate;
}

あなたが示すようにすると、日付オブジェクトには実際には変更がありません。発生する唯一のことは、フォーマットされた日付を含む文字列を作成することです。そのため、代わりに DateTimeFormat パターンを指定して、日付をそのパターンに格納できます。

また、日付パターンの「hh」文字列は、実際には 1 から 12 までの値を与えることに注意してください。これは AM/PM 時間です。0 ~ 24 時間の値を取得するには、代わりに「HH」を使用します ( http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.htmlの「日付と時刻のパターン」セクションを参照)。

于 2013-08-21T18:15:21.853 に答える