Ich muss die gesamten Stunden eines Tages des Tages durchführen. Wie finde ich die nächste ganze Stunde angesichts der Tageszeit um eine ganze Stunde, um 01:00 Uhr? Die nächste ganze Stunde würde normalerweise 02:00, aber aufgrund der Sommerzeit (DST) und anderer Anomalien um 01:00 oder 03:00 oder sogar andere Stunden sein. Aber nicht überall bedeutet die Sommerzeit, die Uhr genau um eine Stunde anzupassen, sodass ich möglicherweise nicht wieder eine ganze Stunde fällt. Und zumindest in der vergangenen Zeitzone sind Änderungen aufgetreten, die die Uhren nach lustigen Mengen nach vorne oder rückwärts gedreht haben, z. B. +0: 09: 40 (dänische Zeit 1894). Das folgende Beispiel zeigt, dass dies auch nicht immer die richtige Zeit angibt. < /P>
ZoneId zoneId = ZoneId.of("Australia/Lord_Howe");
ZonedDateTime zdt = ZonedDateTime.of(2026, 4, 5,
1, 0, 0, 0, zoneId);
System.out.println(zdt);
System.out.println(zdt.plusHours(1));
System.out.println(zdt.plusHours(1).truncatedTo(ChronoUnit.HOURS));
< /code>
Ausgabe: < /p>
2026-04-05T01:00+11:00[Australia/Lord_Howe]
2026-04-05T01:30+10:30[Australia/Lord_Howe]
2026-04-05T01:00+11:00[Australia/Lord_Howe]
< /code>
Lord Howe Island hat einen Sommerzeitversatz von 30 Minuten. Wenn der Sommer endet und sich die Zeit um 02:00 Uhr nähert, wird es auf 01:30 angepasst. Kürzung bringt uns zurück zum 01:00, wo wir angefangen haben.
Wie finden Sie eine ganze Stunde des Tages die nächste ganze Stunde? ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post