私は、日付を処理するスプリングブートアプリケーションを開発しています。私はstartDateTime
とendDateTime
を(どちらがタイプjava.util.Date
である)を持つAppointmentオブジェクトを送信すると私はこのような形式を送信します日付のタイムゾーン、スプリングブートとジャクソン
{
"lastName": "Jhon",
"firstName": "Doe",
"email": "[email protected]",
"description": "MyDescription",
"startDateTime": "2017-10-09T22:43:07.109+0300",
"endDateTime": "2017-10-09T21:40:07.109+0300",
}
データはデータベースに保存されている場合、私がしようとすると、それは、正しいタイムゾーンでです
"startDateTime": "2017-10-09T19:43:07.109+0000",
"endDateTime": "2017-10-09T18:40:07.109+0000",
がどのように私はジャクソンが付属していますタイムゾーンの使用状況を作るために設定することができます:私はしかし、デバッグしていたとき、彼らは私が値としてこれらとの出力を持つジャクソンによってシリアライズされると、彼らは、正しいように見える、戻って私のデータを取得私のリポジトリからのデータ?
------更新---------
私はOffsetDateTime
と答えを試みたが、出力はかなり奇妙です:
"startDateTime": {
"offset": {
"totalSeconds": 7200,
"id": "+02:00",
"rules": {
"fixedOffset": true,
"transitionRules": [],
"transitions": []
}
},
"month": "OCTOBER",
"year": 2017,
"hour": 21,
"minute": 49,
"nano": 654000000,
"second": 15,
"dayOfMonth": 9,
"dayOfWeek": "MONDAY",
"dayOfYear": 282,
"monthValue": 10
}
私が何かを持っているしたいと思います等:
2017-10-09T22:43:07.109 + 0300
使用DateTimeクラスである一つの選択肢は、別の変数に元のオフセットを維持することですこのケースにもっと適しています – CodeIsLife
'OffsetDateTime'フィールドが(以下の私の答えにあるように)' JsonFormat'アノテーションを使用しましたか? –
はい、私はこの注釈を追加しましたが、それでも動作しませんでした – Habchi