SimpleDateFormat 不解析
SimpleDateFormat not parsing
有一百万个关于 SimpleDateFormat
class 的线程,我也遇到了麻烦:
这是我的小测试代码
SimpleDateFormat dateReader = new SimpleDateFormat("EEE, dd LLL YYYY HH:mm:ss Z", Locale.ENGLISH);
Calendar date = Calendar.getInstance();
try {
date.setTime(dateReader.parse(dateReader.format(date.getTime())));
} catch (ParseException e) {
e.printStackTrace();
}
有人可能会认为,正确格式的当前日期将被正确解析,这将 运行 顺利通过,但我得到一个异常 java.text.ParseException: Unparseable date: "Fri, 11 Aug 2017 15:44:48 +0200"
最后,我只想解析 "Thu, 03 Aug 2017 20:10:00 +0200" 这样的日期。我相信我有正确的模式。
我现在不知道,这是怎么回事。
编辑
与其他问题的 区别 是使用的模式。如果您看到答案,则表明模式使用不正确,而大多数其他问题的模式完全错误或局部错误。那里可能有重复的地方——但在这些许多类似命名的问题中,将其作为自己的问题可能会更快。
我认为您的问题在于使用 'yyyy' 而不是 'YYYY' 的年份格式。
SimpleDateFormat dateReader = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
try {
dateReader.parse("Thu, 03 Aug 2017 20:10:00 +0200");
} catch (ParseException e) {
e.printStackTrace();
}
有一百万个关于 SimpleDateFormat
class 的线程,我也遇到了麻烦:
这是我的小测试代码
SimpleDateFormat dateReader = new SimpleDateFormat("EEE, dd LLL YYYY HH:mm:ss Z", Locale.ENGLISH);
Calendar date = Calendar.getInstance();
try {
date.setTime(dateReader.parse(dateReader.format(date.getTime())));
} catch (ParseException e) {
e.printStackTrace();
}
有人可能会认为,正确格式的当前日期将被正确解析,这将 运行 顺利通过,但我得到一个异常 java.text.ParseException: Unparseable date: "Fri, 11 Aug 2017 15:44:48 +0200"
最后,我只想解析 "Thu, 03 Aug 2017 20:10:00 +0200" 这样的日期。我相信我有正确的模式。
我现在不知道,这是怎么回事。
编辑
与其他问题的 区别 是使用的模式。如果您看到答案,则表明模式使用不正确,而大多数其他问题的模式完全错误或局部错误。那里可能有重复的地方——但在这些许多类似命名的问题中,将其作为自己的问题可能会更快。
我认为您的问题在于使用 'yyyy' 而不是 'YYYY' 的年份格式。
SimpleDateFormat dateReader = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
try {
dateReader.parse("Thu, 03 Aug 2017 20:10:00 +0200");
} catch (ParseException e) {
e.printStackTrace();
}