simpleDateFormat 抛出无法解析的日期异常
simpleDateFormat throws unparseable date exception
我一直在尝试将一个字符串解析为一个日期,我到处都搜索了这个但找不到解决方案。我有一个格式化的字符串。当我尝试解析它时,它总是抛出异常,尽管我也尝试设置 Locale.English 并给出日期模式(显然)。
我的日期模式是 "Wed, 29 Jun 2016 16:16:32 +0000"。在此先感谢您的帮助。
dateFormat = new SimpleDateFormat("EEE, DD MMM yyyy HH:mm:ss 'Z'", Locale.ENGLISH);
try {
String dateA = "Wed, 29 Jun 2016 16:16:32 +0000";
String dateB = "Wed, 29 Jun 2016 16:04:54 +0000";
Date parsedDateA = dateFormat.parse(dateA);
Date parsedDateB = dateFormat.parse(dateB);
if (parsedDateA .equals(parsedDateB ) || parsedDateA .before(parsedDateB )) {
//Do some work here
}
} catch (ParseException e) {
e.printStackTrace();
}
来自 docs:"EEE, d MMM yyyy HH:mm:ss Z"
。 'd' 应该是小写的。
大写 D 表示年中的第几天而不是每月的第几天。
编辑:
感谢@MikeM. 的建议:删除 Z
周围的单引号 'Z'
。起初我没有注意到。
我一直在尝试将一个字符串解析为一个日期,我到处都搜索了这个但找不到解决方案。我有一个格式化的字符串。当我尝试解析它时,它总是抛出异常,尽管我也尝试设置 Locale.English 并给出日期模式(显然)。 我的日期模式是 "Wed, 29 Jun 2016 16:16:32 +0000"。在此先感谢您的帮助。
dateFormat = new SimpleDateFormat("EEE, DD MMM yyyy HH:mm:ss 'Z'", Locale.ENGLISH);
try {
String dateA = "Wed, 29 Jun 2016 16:16:32 +0000";
String dateB = "Wed, 29 Jun 2016 16:04:54 +0000";
Date parsedDateA = dateFormat.parse(dateA);
Date parsedDateB = dateFormat.parse(dateB);
if (parsedDateA .equals(parsedDateB ) || parsedDateA .before(parsedDateB )) {
//Do some work here
}
} catch (ParseException e) {
e.printStackTrace();
}
来自 docs:"EEE, d MMM yyyy HH:mm:ss Z"
。 'd' 应该是小写的。
大写 D 表示年中的第几天而不是每月的第几天。
编辑:
感谢@MikeM. 的建议:删除 Z
周围的单引号 'Z'
。起初我没有注意到。