如何转换XMLGregorianCalendar并保持相同的日期

时间:2015-01-14 14:47:32

标签: java datetime

XMLGregorianCalendar xgcal = DatatypeFactory.newInstance()
                    .newXMLGregorianCalendar("2015-01-14T00:00:00Z");

new Timestamp(xgcal.toGregorianCalendar().getTime().getTime())

正在打印2015-01-13 19:00:00.0,如何在此处保留确切的日期时间?

1 个答案:

答案 0 :(得分:1)

Timestamp.toString方法将在jvm的本地时区打印绝对时间点。您显示的xml字符串是UTC。这样就可以打印相同的绝对时间点(假设你的时区是UTC-5)。

如果您正在与JDBC交互并且想要在UTC时区中将日期插入数据库,则必须在Calendar上提供TimeZone setTimestamp UTC的getTimestamp和{{3}}来电。