Uhrzeit in UTC

J

joschika77

Fortgeschrittenes Mitglied
1
Hallo, ich möchte mir die aktuelle Uhrzeit in UTC ausgeben lassen und habe folgende Methode geschrieben. Eigentlich hatte ich sie einst für ne BlackBerry App geschrieben, also nur übernommen. Leider gibt es hier ne Exception. Weiß jemand warum?

Code:
//Aufruf der Methode
CurrentDateTimeToString("GMT","dd.MM.yyyy HH:mm:ss");

//Methode selbst
      public static String CurrentDateTimeToString(String aTimezone,String aDateFormat)
      {
          StringBuffer aDateTimeBuffer = new StringBuffer();
          SimpleDateFormat aSimpleDateFormat = new SimpleDateFormat(aDateFormat);
          Calendar aCalendar = Calendar.getInstance(TimeZone.getTimeZone(aTimezone));
          aCalendar.setTime(aCalendar.getTime());
          aSimpleDateFormat.format(aCalendar,aDateTimeBuffer,null);//hier gibts ne IllegalArgumentException
          return aDateTimeBuffer.toString();
      }
 
wäre es ne idee die exception zu posten?
 
ja hätte ich getan aber die is leider null. :(
 
naja dann wirds schwer

brauchst ja nur durch zu debuggen, bei welcher zeile da die null auftritt, dann weißt du schon ein wenig mehr. kann schon sein, dass android da etwas nicht ganz so bereit stellt wie der blackberry
 
na wie im quellcode schon geschrieben, in dieser Zeile tritt die Exception auf.

Code:
aSimpleDateFormat.format(aCalendar.getTime(),aDateTimeBuffer,null);

In der API steht: Throws IllegalArgumentException if there are invalid characters in the pattern.


Hmmm schön! Heißt mein Format-String ("dd.MM.yyyy HH:mm:ss") stimmt nicht. Hab dann mal ein String aus dem API Beispiel genommen ("yyyyy.MMMMM.dd GGG hh:mm aaa"), geht auch nicht. Laut API sollte es funktionieren.

http://developer.android.com/reference/java/text/SimpleDateFormat.html#format%28jav.util.Date,%20java.lang.StringBuffer,%20java.text.FieldPosition%29


Man man zum heulen. :(
 
sry das hab ich übersehen

hmm sehr komisch, da muss irgendwo ein unpassendes zeichen sein, versuchs mal mit einem ganz einfachen string
 
Habe mal die Zeile ausgetauscht wo die Exception kam. Das funktioniert zwar, aber ich bekomme nicht die UTC Zeit. Die 2 h werden nicht abgerechnet.
Stellt sich nur die Frage warum. :confused:

Code:
              Date d = aCalendar.getTime();
              //aSimpleDateFormat.format(aCalendar.getTime(),aDateTimeBuffer,null);
              String s = aSimpleDateFormat.format(d);
 
So habs endlich hinbekommen. Nur zur Vollständigkeit des Threads, falls es jemand braucht.

Methodenaufruf:
Code:
LocalTime2UtcTime(new Date(System.currentTimeMillis()),"GMT","dd.MM.yyyy HH:mm:ss"));

Methode:
Code:
      public static String LocalTime2UtcTime(Date date,String aTimezone,String aDateFormat)
      {
         Calendar cal = new GregorianCalendar();
         cal.setTime(date);
         DateFormat df = new SimpleDateFormat(aDateFormat);
         df.setTimeZone(TimeZone.getTimeZone(aTimezone));          
         return df.format(cal.getTimeInMillis());
      }

MfG
 
aha - warum auch immer

danke für die auflösung, braucht sicher mal jemand
 

Ähnliche Themen

D
Antworten
23
Aufrufe
2.383
Data2006
D
OnkelLon
Antworten
13
Aufrufe
1.923
OnkelLon
OnkelLon
S
Antworten
9
Aufrufe
1.151
swa00
swa00
Zurück
Oben Unten