simpledateformat解析日期与'Z'文我试图解析一个看起来像这样的日期:2010-04-05T17:16:00Z这是http://www.ietf.org/rfc/rfc3339.txt的有效日期。“Z”字面意思“暗示UTC是指定时间内的首选参考点。”如果我尝试使用SimpleDateFormat和此模式解析它:yyyy-MM-dd'T'HH:mm:ss它将被解析为2010年4月5日17:16:00美国东部时间2010年SimpleDateFormat无法使用以下模式解析字符串:yyyy-MM-dd'T'HH:mm:ssz
yyyy-MM-dd'T'HH:mm:ssZ我可以显式设置TimeZone在SimpleDateFormat上使用以获得预期的输出,但我不认为这是必要的。有什么我想念的吗?有替代日期解析器吗?
3 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
在该模式中,包含'z'日期时间组件表示时区格式需要符合通用时区 “标准”,其示例是Pacific Standard Time; PST; GMT-08:00
。
“Z”表示时区符合RFC 822时区标准,例如-0800
。
我想你需要一个DatatypeConverter ......
@Testpublic void testTimezoneIsGreenwichMeanTime() throws ParseException { final Calendar calendar = javax.xml.bind.DatatypeConverter.parseDateTime("2010-04-05T17:16:00Z"); TestCase.assertEquals("gotten timezone", "GMT+00:00", calendar.getTimeZone().getID());}
添加回答
举报
0/150
提交
取消