私は"2016-03-28T02:00:00+0200"
でテストしていを使用した日からその日を減算した後、間違った結果を取得のLocalDateTimeとZonedDateTime
1日を引いた後、DSTが適用され、出力は次のようになります。
"2016-03-27T03:00:00 + 0200"
しかし、私はこの取得しています:
を2016-03-26T01:00 + 01:00 [ヨーロッパ/ストックホルム]
CODE:
public class DateFormatSampleCode {
public static void main(String[] args)
{
LocalDateTime localDateTime = LocalDateTime.ofEpochSecond(1459123200, 0, ZoneOffset.UTC);
System.out.println(localDateTime);
localDateTime = localDateTime.minusDays(1);
System.out.println(localDateTime);
ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, ZoneId.of("Europe/Stockholm"));
System.out.println(zonedDateTime);
}
}
チェックして、私が間違っているつもりどこ指摘してください。
夏時間の概念を持たない*ローカル*の日付/時刻から日を差し引くことはできません。夏時間規則を適用することを期待しています。 – RealSkeptic
@RealSkepticこれを行う方法を提案できますか? –
ゾーン化された日付/時刻を使用する場合は、ZonedDateTimeを使用します。 'LocalDateTime'は使わないでください。 – RealSkeptic