我一直在尝试将一个字符串解析为一个日期,并且我已经在任何地方进行了搜索,但无法找到解决方案。我有一个字符串格式。当我尝试解析它时,它总是引发异常,虽然我已经尝试设置Locale.English并且给出了日期模式(显然)。 我的日期模式是“星期三,2016年6月29日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();
}
答案 0 :(得分:1)
来自docs:"EEE, d MMM yyyy HH:mm:ss Z"
。 “ d ”应为小写。
大写 D 代表一年中的某一天而不是一个月中的某一天。
修改强>
感谢@MikeM。的建议:删除'Z'
周围的单引号Z
。起初我没注意到。