Date formatter in java 8

Habe ich eine Anforderung, wo ich Sie zu speichern Sie verschiedene Datum und Uhrzeit mit Zeitzonen.
Ich habe verwendet, ZonedDateTime von java 8 .

ZoneId zoneId = ZoneId.of("US/Eastern");
ZonedDateTime zt = ZonedDateTime.now(zoneId);

System.out.println(zt.toString());

Mein problem ist, ich möchte speichern Sie diese in java.util.Datum-format.
Ich verwendet DateTimeFormatter -

 DateTimeFormatter dtf=DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
dtf.format(zt);

Bis hier ist es gut funktioniert, das gibt mir das gewünschte Datum im string-format, wenn ich jetzt versuche zu konvertieren, das auf java.util.Datum mit einfachen Datum-format

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
System.out.println(sdf.parse(dtf.format(zt)));

Bekomme ich die Ausgabe als Sat Mar 12 00:44:10 TRITT 2016, aber ich möchte die Ausgabe als 2016-03-11T14:14:10-05:00 in java.util.Date-Typ. Kann jemand empfehlen, wo mache ich falsch?

  • Derzeit die Sie aufrufen Date.toString() in der letzten Zeile. An diesem Punkt, Sie sind wieder zum gleichen Punkt, wie viele, viele andere Fragen - ein java.util.Date nicht speichern einer Zeitzone oder ein format.
  • (Würde ich dringend vermeiden, mit java.util.Date, wenn Sie nur können - nutzen Sie die java.time Arten so weit wie Sie können.)
  • Warum Date wenn Sie Java 8?
Schreibe einen Kommentar