2016-03-21 8 views
-1

Ich brauchte nur einen Beispielcodeblock oder einen Vorschlag, um die folgende Datumszeichenfolge in utc time zu konvertieren und einen Unterschied zur aktuellen Zeit in Java zu finden?java - Datumszeichenfolge in UTC-Zeit umwandeln

Datum string "2016-03-21T15: 58: 36-04: 00"

Vielen Dank im Voraus

+8

Es gibt * viele * Fragen zu Stack Overflow zum Analysieren von Datum/Uhrzeit-Strings in Java. Wie hast du das gesehen? Denken Sie daran, dass 'SimpleDateFormat.parse' ein' Date' zurückgibt, das keine Zeitzone hat - es ist nur ein Augenblick. Wenn Sie die Format-Zeichenfolge richtig haben und die Daten trotzdem die UTC-Verschiebung enthalten (wie hier), dann wird es keine weitere Konvertierung mehr geben. –

Antwort

0

Sie müssen den Datums-Zeichenfolge in folgenden Weise zu formatieren:

String string = "2016-03-21T15:58:36-04:00"; 
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", Locale.ENGLISH); 
Date date = format.parse(string); 

Dann müssen Sie nur Date APIs verwenden, um den Zeitunterschied zu finden.

-2
public static long getMillisFrom(String inStrDate) { 

    DateFormat ISO_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH); 

    Date inDate = ISO_DATE_FORMAT.parse(inStrDate); 

    Date curDate = new Date(); 

    long diffMillis = curDate().getTime() - inDate.getTime(); 
    return diffMillis 

}