我希望能够将此日期时间格式“2011-12-02T16:18:12.479-05:00”解析为mm / dd / yy格式。最好的方法是什么?我想做 -
final DateFormat dateFormatIn = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S'Z'");
final DateFormat dateFormatOut = new SimpleDateFormat("MMMMMMMMM d, yyyy");
String timestamp = dateFormatOut.format(dateFormatIn.parse(someDate);
但我得到一个异常'java.text.ParseException:Unparseable date:“2011-12-02T16:18:12.479-05:00”'对我可能做错的任何见解?
答案 0 :(得分:1)
我认为您的问题是因为Z
附近的标记。
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SZ");
写了一个快速的脚本来测试它。现在工作正常。
答案 1 :(得分:1)
您的输入日期2011-12-02T16:18:12.479-05:00
包含毫秒。
请改用以下内容
final DateFormat dateFormatIn = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
答案 2 :(得分:0)
尝试..
final DateFormat dateFormatOut = new SimpleDateFormat("MMM, dd, yyyy");
答案 3 :(得分:0)
如果所有其他方法都失败了,joda-time joda-time是一个非常棒的时间实用程序库,可以使日期格式化非常简单。他们的网站上有一些教程和API。至于你的ParseException,我相信上面的答案应该有用:)