この2つを積極的に使うプロジェクトって、意外と少ない。
LocalDateTime localdatetime = LocalDateTime.now(); // LocalDateTime → ZoneDateTime ZonedDateTime zoneddatetime = localdatetime.atZone(ZoneId.systemDefault()); // LocalDateTime → OffsetDateTime OffsetDateTime offsetdatetime = localdatetime.atOffset(ZoneOffset.ofHours(9));
それぞれ、toString() として標準出力すると
2024-04-21T16:49:23.526946600 2024-04-21T16:49:23.526946600+09:00[Asia/Tokyo] 2024-04-21T16:49:23.526946600+09:00
以下は、OffsetDateTime 覚えての以下のインスタンスメソッドは、覚えておくといいかも。
withOffsetSameInstant(ZoneOffset offset)
結果が暗黙の日の同じインスタントを持つようにしながら、指定されたオフセットを使ってこのOffsetTimeのコピーを返します。
withOffsetSameLocal(ZoneOffset offset)
結果が同じローカル時間を持つようにしながら、指定されたオフセットを使ってこのOffsetTimeのコピーを返します。