我正在尝试将字符串转换为日期以与当前日期进行比较,但它抛出解析异常
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
try {
java.util.Date cookiedate = format.parse("Tue Apr 29 11:40:55 GMT+04:00 2014");
Calendar currentDate = Calendar.getInstance();
String dateNow = format.format(currentDate.getTime());
java.util.Date currDate = format.parse(dateNow);
if (currDate.getTime() > cookiedate.getTime()) {
return true;
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
最佳答案
在您的格式
中,"yyyy-MM-dd HH:mm:ss"
将匹配日期字符串,如 "2013-03-30 15:57 :00"
,所以你得到一个 ParseException
。
如果你想解析"Tue Apr 29 11:40:55 GMT+04:00 2014"
,你应该使用"EEE MMM dd HH:mm:ss z yyyy"
将您的代码更改为
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);
关于java - 将字符串转换为日期抛出解析异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22741608/