【发布时间】:2012-10-16 16:16:22
【问题描述】:
我需要一些关于这个 java 方法的建议。此方法的目的是获取一个表示日期的字符串 - 此字符串是根据 EST 时区中的日期创建的 - 并将其转换为 UTC 时区中的 java Date 对象。
private Date buildValidationDate(String dateString) throws ParseException {
System.out.println("dateString " + dateString);
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyy hh:mm a");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
dateFormat.setLenient(true);
Date dt = dateFormat.parse(dateString);
System.out.println("dt " + dt);
return dt;
}
我看到的问题是 dt 的值似乎关闭了。例如,如果 dateString 是 '10/16/2012 12:06 PM' - 我预计 dt 的值(以 UTC 为单位)类似于 'Tuesday, October 16, 2012 4:06 PM'。相反,dt 的值是 'Tue Oct 16 07:06:00 CDT 2012'。这似乎不是正确的 UTC 时间。
感谢任何建议,如果这似乎是一个简单的问题,我很抱歉我在 Java 日期方面遇到了很多麻烦。我不确定我的编码是否错误,或者我的方法是否有问题。谢谢
【问题讨论】:
标签: java date simpledateformat data-conversion