我有問題將日期轉換爲UTC,我可以在獨立的java程序中獲得此工作,但是,在服務器上運行相同的方法時,會給我一個不同的方法時間戳。獨立的java與tomcat服務器的日期差異
這裏是我需要將UTC日期轉換爲XMLGregorianCalendar的方法。
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;
}
在standalone java prog上運行上述方法。它將時間戳轉換爲UTC,通過時間加上5個小時。
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"));
}
輸出:DateUtil xmlGC in UTC: 2017-03-06T10:47:37.000Z.
然而,雖然使用的是Tomcat上相同的方法 - 應用服務器在同一臺機器上,它不是日期轉換成UTC。我在這裏錯過了什麼,
有人可以幫助我這個。提前致謝。
你如何覈查Tomcat版本不轉換日期?使用日誌? –
@DmitryGorkovets:是的,我將它記錄在我的應用程序日誌中。 –
您的機器在'日期'時什麼時候返回? 「+ 0」或「+ 5」? –