2017-03-06 2 views
0

Ich habe Probleme beim Konvertieren des Datums in UTC, ich bin in der Lage, dies funktioniert auf einem eigenständigen Java-Programm, während die gleiche Methode auf einem Server gibt mir eine andere Zeitstempel.Datum Unterschied in Standalone Java vs Tomcat Server

Hier ist die Methode, die ich ein String-Datum in XMLGregorianCalendar in UTC konvertieren muss.

public static XMLGregorianCalendar convertDateToXMLGregorianCalendarInUTC(String date, String dateFormat) throws ParseException, DatatypeConfigurationException { 
    if (StringUtils.isBlank(date)) 
     return null; 
    TimeZone timeZoneInUTC = TimeZone.getTimeZone("GMT0:00"); 
    GregorianCalendar gregorianCalendar = new GregorianCalendar(timeZoneInUTC); 
    DateFormat dateFormat = new SimpleDateFormat(dateFormat); 
    Date dateUtil = null; 
    XMLGregorianCalendar xmlGregorianCalendar = null; 

    dateUtil = dateFormat.parse(date); 
    gregorianCalendar.setTime(dateUtil);   
    xmlGregorianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar); 

    return xmlGregorianCalendar; 
} 

Mit der obigen Methode, wenn ich es auf StandAlone Java Prog ausführen. Es konvertiert den Zeitstempel in UTC, indem dem veralteten Datum 5 Stunden hinzugefügt werden.

public static void main(String[] args) throws ParseException, DatatypeConfigurationException { 

    System.out.println("DateUtil xmlGC in UTC: "+DateUtil.convertDateToXMLGregorianCalendarInUTC("03/06/2017 05:47:37", "MM/dd/yyyy HH:mm:ss")); 

} 

OutPut: DateUtil xmlGC in UTC: 2017-03-06T10:47:37.000Z.

Während jedoch mit der gleichen Methode auf tomcat - Anwendungsserver auf der gleichen Maschine, es ist nicht das Datum in UTC konvertieren. Fehle ich hier etwas.,

Kann mir bitte jemand dabei helfen. Danke im Voraus.

+0

Wie überprüfen Sie, dass Kater Version nicht Datum konvertieren? Protokolle verwenden? –

+0

@DmitryGorkovets: Ja, ich logge es in meinen Anwendungsprotokollen ein. –

+0

Um wie viel Uhr kommt Ihre Maschine zurück, wenn "Datum"? Die '+ 0' oder' +5'? –

Antwort

0

Set Tomcat Zeitzone -Duser.timezone=GMT+05

+1

Ich denke nicht, dass das eine gute Idee wäre., Wenn dies eine Hilfsmethode ist, muss jeder, der diese Methode verwendet, ihre tomcat Zeitzone aktualisieren. Es sollte eine bessere Möglichkeit geben, damit umzugehen. –

+0

FYI. , das hat nicht geholfen :( –