Android ParseDateException:EDT时区未被识别。

3
下面的SimpleDateFormat解析了我尝试过的所有其他时区,但似乎无法识别EDT?
private static final SimpleDateFormat currentDateFormat = 
    new SimpleDateFormat("EEE, d MMM yyy h:mm a z");

ParseException:日期无法解析:"Sun, 15 Mar 2015 12:50 pm EDT"(偏移量为26)

我暂时将日期字符串中的时区删除,以便正确解析。


TimeZone.getTimeZone("America/New_York").getDisplayName(true, TimeZone.SHORT) 会返回什么?是“EDT”还是其他内容?同时确保您使用英语作为默认语言环境。如果测试结果不是“EDT”,那么问题的原因可能是您的Android版本管理了不同的时区名称和缩写集合。 - Meno Hochschild
@Ozzy,你解决了这个问题吗? - Jared Burrows
@JaredBurrows 是的,有一个解决方法。从格式中去掉“z”,并使用一个函数来计算三个字母时区的时差。等我不太忙的时候会稍后发布答案。 - Ozzy
1个回答

0

2
不,一个z就足够了。 - Apurva
@Apurva 看看之前的答案。这个问题以前已经被问过并且用类似的方法解决了。 - Jared Burrows

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接