1

アプリで Hibernate を使用して「時間」(時間、分、秒) を保存しています。Hibernate を使用してエンティティを管理しています。以下のように、エンティティで JPA アノテーション @TemporalType.Time を使用しました。

@Temporal(TemporalType.TIME)
public Date getTime_out() {
    return time_out;
}

次のようなWebサービスリクエストから文字列として取得した時間を保存しています。

            DateFormat df = new SimpleDateFormat("hh:mm:ss");
            Date date = null;
            try {
                date = df.parse(timeHHMM);
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

Web リクエストは特定の形式であることが期待されます (これが正しいことではないことはわかっていますが、実験で遊んでいるだけです)。文字列を日付に変換した後、エンティティに時刻を設定してデータベースに保存します。

入力が 08:00:00 の場合、期待どおり 08:00:00 として保存されました。13:00:00 (午後 1 時) の場合、13:00:00 として保存されます。しかし、入力が 12:00:00 (12 PM) の場合、00:00:00 として保存されます。

ここで何か不足していますか?

ありがとう!

4

1 に答える 1

3

間違った日付形式を使用しています。hham / pm形式で時間を指定するため、12:00:00はデフォルトで12am(00:00:00)になります。

必要なもの:

SimpleDateFormat("HH:mm:ss")
于 2012-08-21T02:21:54.143 に答える