2012-11-20 6 views
8

Ich habe eine Datumsstring 2012-11-21 13:11:25, die ich von der lokalen Datenbank bekomme. Ich muss dies nach UTC Einstellungen konvertieren und auf einem bestimmten Bildschirm anzeigen. Also, wenn es GMT+05:30 ist, sollte es als 2012-11-21 18:41:25 auf dem Bildschirm angezeigt werden. Wie kann ich diese Konvertierung durchführen? Ich habe einige der Fragen überprüft, aber das hat nicht funktioniert.Konvertieren Sie eine Datums- und Uhrzeitzeichenfolge nach dem UTC-Format

Ich bin in der Lage ein Date-Objekt zu erhalten, die so etwas wie Wed Nov 21 13:11:25 GMT+05:30 2012 danach kehrt Ich brauche die Zeit als 18:41:25 und Datum als 11-21-2012

Vielen Dank im Voraus

+0

Sie können dies überprüfen: [Convertion] [1] [1]: http://stackoverflow.com/questions/2609360/converting-local-timestamp-to-utc-timestamp-in-java Hoffe das hilft. – kittu88

Antwort

14

Ihre df und inputFmt muß das gleiche benutzen Sie Format.

Aber ich denke, man es so tun soll:

Date myDate = new Date(); 

    Calendar calendar = Calendar.getInstance(); 
    calendar.setTimeZone(TimeZone.getTimeZone("UTC")); 
    calendar.setTime(myDate); 
    Date time = calendar.getTime(); 
    SimpleDateFormat outputFmt = new SimpleDateFormat("MMM dd, yyy h:mm a zz"); 
    String dateAsString = outputFmt.format(time); 
    System.out.println(dateAsString); 
1

beste Art und Weise formatierte String von Date zu bekommen in gewünschtem Format

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); 
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); 
String formatted = dateFormat.format(date); 
5

UTC Erhalten von aktueller Zeit:

public String getCurrentUTC(){ 
     Date time = Calendar.getInstance().getTime(); 
     SimpleDateFormat outputFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
     outputFmt.setTimeZone(TimeZone.getTimeZone("UTC")); 
     return outputFmt.format(time); 
} 
Verwandte Themen