我正在使用java DateUtils类
public boolean checkDate(String dateInString, String format){
try {
Date date = new SimpleDateFormat(format).parse(dateInString);
system.out.print(date);
if (DateUtils.isToday(date)) {
return true;
}
} catch (ParseException e) {
return false;
}
return false;
}
有了这个参数:
//needs to be true - today's date
boolean boola = checkDate("03/03/2016", "dd/mm/yyyy");
//needs to be true as well - today's date
boolean boolb = checkDate("03/03/2016", "DD/MM/YYYY");
system.out.print(boola); // prints false
system.out.print(boolb); // prints false
这是控制台日志:
sun dec 27 00:00:00 IST 2015 //2015?
sun jan 03 00:03:00 IST 2016 // 03 03 are for dd/mm, DD/MM why they appear in the wrong place?
false
false
我不知道导致此错误的原因,我正在使用此功能来比较日期。
答案 0 :(得分:3)
答案 1 :(得分:2)
请参阅documentation并检查字符串。
D日的年数189
d第10天的日期
M月份七月份; 7月; 07
m分钟30分钟
y 1996年; 96个
Y周年份2009年; 09
从技术上讲,你的字符串都错了,我相信你想要dd/MM/yyyy
答案 2 :(得分:-2)
使用日历检查:
日历c = Calendar.getInstance();
今天的日期= c.getTime();