我正在尝试将格式为String
的{{1}}值解析为Sat Dec 03 20:30:33 GMT+00:00 2016
变量,但我收到Date
个异常。我在这里做错了什么?
java.text.ParseException: Unparseable date: "Sat Dec 03 20:30:33 GMT+00:00 2016" (at offset 0)
答案 0 :(得分:1)
这是有效的
private static void test1() {
Date itemDate = new Date();
DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss", Locale.ENGLISH);
try {
itemDate = df.parse("Sat Dec 03 20:30:33");
//"Sat Dec 03 20:30:33 GMT+00:00 2016" works too.
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(itemDate);
}
问题是关于Dec'月。您的设备中有另一个区域设置
答案 1 :(得分:0)
Sat 12 03 20:30:33 GMT + 00:00 2016
是一个字符串,其中包含一些与语言环境相关的元素,如“Sat”和“Dec”
因此你必须这样做:
DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss", Locale.ENGLISH);
然后确保您使用的模式与您要解析的字符串匹配...
在你的例子中我们看到:“EEE MMM dd HH:mm:ss” 但是要解析的字符串例如是年...因此您需要解析该信息以及在正确的位置添加年份组件 yyyy