DatatypeConverter.parseDate输出错误的日期

时间:2012-07-23 13:34:09

标签: java datetime timezone date-conversion

鉴于这段代码:

// import javax.xml.bind.DatatypeConverter;

Date date = DatatypeConverter.parseDate("2012-07-12-04:30").getTime();
System.out.println(date);
Date date2 = DatatypeConverter.parseDate("2012-07-12+00:00").getTime();
System.out.println(date2);

输出是:

Thu Jul 12 00:00:00 VET 2012
Wed Jul 11 19:30:00 VET 2012

为什么转换日期在给定日期后4:30?我被卡住了。

1 个答案:

答案 0 :(得分:0)

“2012-07-12 + 00:00” - 这是2012年7月12日00:00在UTC timeZone或2012年7月11日19:30在委内瑞拉TimeZone。

您在当地时区获得该时间的字符串表示,但无论如何Date类是timeZone绑定到UTC