2017-03-21 5 views
2

私はスプリングブート1.5.2で簡単なアプリケーションを作成しました。私は日付を渡しており、次のようにapplication.propertiesファイルに日付書式を既に記述しています。 spring.jackson.joda-date-time-format = yyyy-MM-ddジャクソンは、春のブート休憩アプリケーションで日付を1日に変更しています。

しかし、 POST(挿入)またはPUT(更新)の場合、日付は古い日に変更されます。例2017-03-21は2017-03-20に変更されます。

+0

エンティティの日付プロパティはどのようにマップされていますか?彼らはどんなタイプですか?あなたは '@ Type'を使用していますか?あなたに役立つ情報が少なすぎます。 – Gregg

+0

サーバとクライアントは同じタイムゾーンにありますか? –

+1

これはタイムゾーンの問題です。ジャクソンは日付(デフォルトではローカルタイムゾーン)を別のタイムゾーンに変換します。この問題を解決するために私が見つけた唯一の方法は、ZonedDateTimeをUTCに設定することです。 –

答えて

0

私は同じ問題を持っていたし、私はその方法でそれを解決:あなたのentitiyで 、論文の注釈を追加:

@Temporal(TemporalType.DATE) 
@JsonFormat(shape = JsonFormat.Shape.STRING, locale = "fr-FR", timezone = "Europe/Paris") 
private Date yourDate; 

それとも、application.propertiesファイルに論文の行を追加することができた:

spring.jackson.time-zone=Europe/Paris 
spring.jackson.locale=fr_FR 

あなたが他の国にいる場合は、ロケールとタイムゾーンを変更できますが、フランスを維持しても機能します。

関連する問題