2016-11-10 2 views
0

Ich muss Datum wie Mo 14. November 13:36:01 GMT + 03: 00 2016 zu lokalen konvertieren. So muss es seine 16.36.01Konvertieren GMT + Datum auf lokale auf Android

Date serverDate; // Mon Nov 14 13:36:01 GMT+03:00 2016 

SimpleDateFormat dateFormat = new SimpleDateFOrmat("hh:mm:ss"); 
String result = dateFormat.formatDate(serverDate); 

Ergebnis nicht GMT sieht +03: 00 und gibt mir falsche Zeit (13.36 Uhr statt 16.36 Uhr).

+1

Wie lautet Ihre lokale Zeitzone? Wenn Sie in GMT + 3 sind, dann ist 13:36:01 korrekt. – Henry

+0

Ja, es ist bereits die GMT +3, die 13:36 im Datum ist. – aleksandrbel

Antwort

0

Also musste ich nur Formatierer ohne ZZZZZ erstellen und Zeitzone zu GMT einstellen.

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.getDefault()); 
    simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); 
    final Date localDate = simpleDateFormat.parse("2016-11-11T09:48:24-05:00"); 

    SimpleDateFormat dateFormat = new SimpleDateFOrmat("hh:mm:ss"); 
    String result = dateFormat.formatDate(localDate); //12:48:24 

Nach dieser Codezeit von LOCALDATE Variable 00.48.24 (: 00 bei meinem GMT +03) sein.