如何在Java中验证日期?
我有一个这样的约会-如何在Java中验证日期?,java,date,simpledateformat,Java,Date,Simpledateformat,我有一个这样的约会- 2015-4-10T11:20:56 我需要验证日期并确保它不大于当前日期。也就是说,如果今天是4月10日,那么它不应该是4月11日或更大 String abc = "2015-4-10T11:20:56"; if(abc is greater than todays date) { // log an error } 我该怎么做 更新:- 我试着这样做,但没有成功- String abc = "2015-4-10T11:20:56"; Sim
2015-4-10T11:20:56
我需要验证日期并确保它不大于当前日期。也就是说,如果今天是4月10日,那么它不应该是4月11日或更大
String abc = "2015-4-10T11:20:56";
if(abc is greater than todays date) {
// log an error
}
我该怎么做
更新:-
我试着这样做,但没有成功-
String abc = "2015-4-10T11:20:56";
SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");
try {
format.parse(abc);
} catch (ParseException e) {
e.printStackTrace();
}
你可以用这个来试试
您必须将字符串转换为日期对象。 您可以使用
SimpleDataFormat
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d'T'HH:mm:ss");
Date date = sdf.parse(dateStr);
if (date.compareTo(new Date()) > 0) {
// log an error
}
这应该适合您:
String abc = "2015-4-10T11:20:56";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss");
Date mydate = df.parse(abc);
Calendar c = Calendar.getInstance();
c.setTime(mydate);
Calendar today = Calendar.getInstance();
if (c.compareTo(today)>=0){
}
从一个
SimpleDateFormat
开始,使用Date#before
和Date#equals
用SimpleDateFormat
解析字符串,并将日期与日历
进行比较。
String abc = "2015-4-10T11:20:56";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss");
Date mydate = df.parse(abc);
Calendar c = Calendar.getInstance();
c.setTime(mydate);
Calendar today = Calendar.getInstance();
if (c.compareTo(today)>=0){
}