現在の時刻を文字列としてデータベースに保存する必要があります。時間は異なるタイムゾーンにある可能性があるため、Java SE 8 の新しい ZonedDateTime クラスの使用を検討しています。
toString() メソッドが自動的に出力することに気付きました:
2016-04-15T17:40:49.305-05:00[America/Chicago]
これも ZonedDateTime.parse() で読み取れるようで、正しい値に変換されます。
これらの値を保存するだけで、値をユーザーが読み取り可能な形式に変換する必要がない場合、適切なタイムゾーンでデータを正確に保存するために必要なことはこれだけですか? たとえば、toString() 表現を格納することによって 2 つの ZonedDateTimes を SQL データベースに挿入し、後で ZonedDateTime.parse() を使用してこれらの時刻を読み取った場合、isAfter() や isBefore() などは正常に動作すると期待できますか?大丈夫?
または、その間のステップがありませんか?Java 7 でタイムゾーンを理解しようとした後、これはほとんど簡単すぎるように感じます。