java.Zeit: Hat die MEZ-zone ist der Auffassung Sommerzeit?

Ich das neue java.time Implementierung von Java 8, und wundere mich über die Ausgabe von UTC zu MEZ Zeit umrechnungsergebnis.

ZonedDateTime utcTime = ZonedDateTime.of(2014, 7, 1, 8, 0, 0, 0, ZoneId.of("UTC"));
ZonedDateTime cetTime = ZonedDateTime.ofInstant(utcTime.toInstant(), ZoneId.of("CET"));
System.out.println("Summer-UTC-Time: " + utcTime);
System.out.println("Summer-CET-Time: " + cetTime);

System.out.println();

utcTime = ZonedDateTime.of(2014, 1, 1, 8, 0, 0, 0, ZoneId.of("UTC"));
cetTime = ZonedDateTime.ofInstant(utcTime.toInstant(), ZoneId.of("CET"));
System.out.println("Winter-UTC-Time: " + utcTime);
System.out.println("Winter-CET-Time: " + cetTime);

Ich erwartet, dass die CET-Zeit würde immer +1 von der UTC-Zeit, aber stattdessen bekam ich:

Summer-UTC-Time: 2014-07-01T08:00Z[UTC]
Summer-CET-Time: 2014-07-01T10:00+02:00[CET] -> +2 **Unexpected**

Winter-UTC-Time: 2014-01-01T08:00Z[UTC]
Winter-CET-Time: 2014-01-01T09:00+01:00[CET] -> +1 Expected

Also anscheinend ich haben, um mit der Sommerzeit, die ich nicht erwarten, dass bei der Verwendung von MEZ. Ist die java.time MEZ in Wahrheit CEST? Und wenn ja, welche zone sollte ich verwenden, wenn ich brauche MEZ?

  • CET ist nicht identisch mit UTC+1 wenigstens, wie die IANA time zone database definiert. Und das ist, was Java -, POSIX-und mehrere Datenbank-Anbieter verwenden.
  • Ihr Kommentar 'CET ist nicht identisch mit UTC+1' zu sein scheint, der die meisten richtigen Antworten - obwohl die wiki Referenz-Dokumente einen festen UTC-offset von +1 (+2 MESZ in Regionen mit Sommerzeit). Ich habe einen kurzen Blick auf die IANA aber das hat nicht geholfen, mich zu verstehen, seine definition. Dennoch, wenn Sie fügen Sie Ihren Kommentar als Antwort (vielleicht einige mehr hintergrund-Informationen) ich würde es akzeptieren.
InformationsquelleAutor FrVaBe | 2014-11-12
Schreibe einen Kommentar