Mit den Java 8 Datum und Uhrzeit Klassen geben diese einfach. Nur fangen ist, müssen wir durch ZoneDateTime
gehen, wenn wir aus der Standardzeitzone des Computers und dann auf OffsetDateTime
wählen möchten, um das gewünschte Ausgabeformat zu erhalten (eine andere Option wäre das Formatieren des Datums und der Uhrzeit mit einer bestimmten ; jetzt Ich verlasse mich auf OffsetDateTime.toString()
).
String utcTime = "2004-04-12T13:20:00Z";
OffsetDateTime dateTimeWithOffset = Instant.parse(utcTime).atZone(ZoneId.systemDefault()).toOffsetDateTime();
System.out.println(dateTimeWithOffset);
Auf meinem Computer die oben druckt
2004-04-12T14:20+01:00
In der Antwort und der Code, den ich absichtlich haben vermied den Begriff „lokale Datum-Zeit“, die Sie in der Frage verwendet. Dies dient zur Vermeidung von Verwechslungen mit der Klasse LocalDateTime
, die für ein Datum und eine Uhrzeit ohne beliebige Zeitzonen- oder Offset-Informationen verwendet wird.
Gehen Sie durch http://stackoverflow.com/questions/12487125/java-how-do-you-convert-a-utc-timestamp-to-local-time. Hoffe, Sie bekommen die richtige Antwort .. – vineeth
Die Java 8 Datum und Uhrzeit Klassen sind perfekt dafür (viel besser als altmodisch 'SimpleDateFormat' und' Calendar'). Kannst du Java 8 benutzen? –
@vineeth, die einzige Antwort dort verwendet die alten Java Datum und Uhrzeit Klassen. Niemand würde das machen wollen, wenn sie Java 8 benutzen könnten. –