Datum und Uhrzeit von UTC in MET umrechnen

  • Themenstarter Themenstarter EinAnfänger
  • Beginndatum Beginndatum
E

EinAnfänger

Gast
Hi!

Es ist mal wieder Zeit für eine blöde Frage 😉

Ich möchte gerne ein gegebenes Datum ("yyyy-MM-dd HH:mm:ss") in UTC-Zeit umrechnen in MET bzw. CET unter Berücksichtigung der Sommer- bzw. Winterzeit. Ich habe mir schon im Netz die Hacken abgesucht, bin aber nicht wirklich fündig geworden.

Daher bin ich für jeden Tipp dankbar.
 
Das funktioniert über die Klasse [JAPI]SimpleDateFormat[/JAPI], wie hier beschrieben.

Von dort geklauter Codeausschnitt:

Java:
final Date currentTime = new Date();

final SimpleDateFormat sdf =
        new SimpleDateFormat("EEE, MMM d, yyyy hh:mm:ss a z");

// Give it to me in US-Pacific time.
sdf.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
System.out.println("LA time: " + sdf.format(currentTime));

// Give it to me in GMT-0 time.
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println("GMT time: " + sdf.format(currentTime));

// Or maybe Zagreb local time.
sdf.setTimeZone(TimeZone.getTimeZone("Europe/Zagreb"));
System.out.println("Zagreb time: " + sdf.format(currentTime));

// Even 10 hours and 10 minutes ahead of GMT
sdf.setTimeZone(TimeZone.getTimeZone("GMT+0010"));
System.out.println("10/10 ahead time: " + sdf.format(currentTime));
 
Irgendwie kriege ich den Dreh immer noch nicht...

Ok, nochmal vielleicht nochmal von vorne: Ich erhalte aus einer Anwendung einen Datums-String im Format "yyyy-MM-dd'T'HH:mm:ss.SSS". Diesen wandle ich mittels SimpleDateFormat in ein Datum um

Java:
Date d = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS").parse(Datums-String));

Die Zeitangabe im Datums-String basiert auf UTC. Von der Logik her müsste ich dem umgewandelten Datum die Zeitzone UTC zuweisen, um dann irgendwie eine Umrechnung in in CET durchzuführen. Nur wie???
 
Auch okay.

Falls du noch an der Java-API-Lösung interessiert bist:

Java:
String dateString = "2012-02-03 10:11:12";                              
final SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");                                                                               
Date d = sdf.parse(dateString);                                         

System.out.println(sdf.format(d));                                      
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));                           
System.out.println(sdf.format(d));                                      
sdf.setTimeZone(TimeZone.getTimeZone("CET"));                           
System.out.println(sdf.format(d));                                      
sdf.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));           
System.out.println(sdf.format(d));

Das erspart dir eine Dependency. 😉
 

Zurück
Oben