【发布时间】:2015-05-27 02:17:28
【问题描述】:
我有一个问题。我已经浏览了所有相关的帖子,但无法摆脱这种情况。我正在尝试将美国/太平洋日期从字符串转换为日期对象:
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yy HH:mm:SS a z");
df.setTimeZone(TimeZoneUtil.getTimeZone("US/Pacific"));
String userTime = df.format(date);// User Time - Returns correct US/Pacific time
Date userDate = df.parse(userTime); // Always returns the date in EDT
我知道 Date 没有自己的格式,但我完全不知道 parse 方法返回 EDT 时间。
我的问题是我想将 userTime 字符串转换为与我设置为 SimpleDateFormat 相同的格式/时区的 Date 对象。我需要帮助,伙计们……绝望地等待着。提前致谢
【问题讨论】:
-
我知道 Date 没有自己的格式 它也没有自己的时区。时区是格式的一部分。
-
您的
SimpleDateFormat实例正在使用带有z的模式,这是一个通用时区[1]。您尝试解析的字符串是什么?是在美国东部时间吗? docs.oracle.com/javase/8/docs/api/java/text/… -
嗨 Brett - 23-03-15 21:28:232 PM PDT 我想解析和创建日期。我只想创建一个具有此值的日期对象。请注意,用户可以选择具有任何时区的任何日期,因此它不是恒定的。 :)
标签: java parsing date timezone simpledateformat