Immer GMT-Zeit mit Android

Ich worden Graben in die Frage für eine Weile in StackOverflow
Android-Holen Sie sich Aktuelle UTC-Zeit
und
Wie bekomme ich das aktuelle Datum und die Uhrzeit in UTC oder GMT in Java?

Habe ich versucht zwei Möglichkeiten, die aktuelle Uhrzeit von meinem Handy in GMT. Ich bin in Spanien und der Unterschied ist GMT+2. Also lasst uns sehen, ein Beispiel:
1º Versuch: ich schuf ein format übernommen und es zu System.currentTimeMillis();

    DateFormat dfgmt = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");   
    dfgmt.setTimeZone(TimeZone.getTimeZone("GMT")); 
    String gmtTime = dfgmt.format(new Date());
    //Using System.currentTimeMillis() is the same as new Date()
    Date dPhoneTime = dfgmt.parse(gmtTime);
    Long phoneTimeUTC = dPhoneTime.getTime();

Muss ich subtrahieren, mal zu einer anderen Zeit, das ist, warum ich den cast zu Lang.

    DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");          
    Date arrivalDate = df.parse(item.getArrivalDate());
    //the String comes from JSON and is for example:"UTC_arrival":"2011-05-16 18:00:00"
    //which already is in UTC format. So the DateFormat doesnt have the GMT paramater as dfgmt
    diff = arrival.getTime() - phoneTimeUTC ;

Ich auch so probiert:

    Calendar aGMTCalendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    Long phoneTimeUTC = aGMTCalendar.getTimeInMillis()

Und ich noch nicht den richtigen Unterschied. Aber wenn ich dies Tue:

    Long phoneTimeUTC = aGMTCalendar.getTimeInMillis()-3600000*2;

Es funktioniert OK.

Irgendwelche Ideen?

Vielen Dank,

David.

InformationsquelleAutor Dayerman | 2011-05-16

Schreibe einen Kommentar