私は ObjectMapper の時間文字列解析に比較的慣れておらず、大きな問題に直面しています。ローカルで Date オブジェクトに解析することになっている "yyyy-MM-dd'T'HH:mm:ss.SSZ" 形式の時刻文字列を送信するサーバーがあります。私のサーバーはローカルタイムゾーン、つまりGMT + 8で日付を送信しているので、サーバーから「2018-08-23T15:02:44.000Z」を受信したとしましょう。これをレルムファイルに正確に保存する必要があります。変換に次のコードを使用しています。
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSZ"
formatter.timeZone = TimeZone.current
recordDateTime <- (map["record_time"], DateFormatterTransform(dateFormatter: formatter))
しかし問題は、レルムに保存されている日付オブジェクトが 2018-08-23 11:02:44 PM であることです。DateFormatterTransform は GMT ゾーンの日付文字列を受け入れるため、ローカル タイム ゾーン、つまり GMT+8 に変換していると思います。とにかく、DateFormatterTransform のタイム ゾーンを手動で設定して、タイム シフトが発生しないようにすることはできますか? データベースは非常に大きく、すでにすべての日付がローカル タイム ゾーンで保存されているため、この時点でサーバーを変更することはできません。
この問題を解決する方法を提案してください。ありがとう