我很难解析/格式化从 Web 服务返回的日期字符串。我尝试了多种方法,但没有运气。
示例日期字符串:
2011-10-05T03:00:00Z
例外:
W/System.err(10072): java.text.ParseException: Unparseable date: "2011-10-05T05:00:00Z" (at offset 10)
W/System.err(10072): at java.text.DateFormat.parse(DateFormat.java:626)
示例代码:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:SSSS");
Date date = formatter.parse(info.AiringTime);
我发现如果我删除日期和时间之间的“T”并用空格替换它,它的格式会很好。有人有什么建议吗?
- 更新 -
在深入查看 API 文档后,我发现:
所有响应 DateTime 值均采用 UTC 格式。您需要应用 UTC 偏移量来计算显示的本地时间。
DateTime 是以下列格式之一指定的日期和时间值:
UTC 格式:YYYY-MM-DDThh:mm:ssZ。例如:2011-03-15T02:00:00Z。
带有偏移的本地时间:YYYY-MM-DDThh:mm:ss + 或 - hh:mm(正或负偏移)。例如,对于美国太平洋时间:2011-03-14T06:00:00 -08:00。
对 UTC 格式方法有什么建议吗?