繁体   English   中英

SimpleDateFormat解析总是返回EDT日期

[英]SimpleDateFormat parse always returns EDT date

我这里有一个问题。 我已经阅读了所有相关文章,但无法摆脱这种情况。 我正在尝试将美国/太平洋日期从字符串转换为日期对象:

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没有自己的格式,但是我完全被狐狸看成是解析方法返回了EDT时间。

我的问题是我想将userTime字符串转换为Date对象,其格式/时区与我设置为SimpleDateFormat的格式/时区相同。 我需要帮助的人..拼命等待。 提前致谢

查看文档

解析
[...] TimeZone值可能会被覆盖,具体取决于给定的模式和文本中的时区值。 可能需要恢复以前通过调用setTimeZone设置的任何TimeZone值,以进行进一步的操作。

希望这可以帮助

java.util.Date对象不在时区中。 调用toString时,构建的字符串将位于jvm的本地时区。

如果要在其他时区构建字符串,则需要构建新的SimpleDateFormat或在设置格式之前再次设置时区。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM