如何验证 Java 中的日期?
How to validate a date in Java?
我有一个采用这种格式的约会 -
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();
}
您可以尝试使用 compareTo
Date date = null;
String str = "2015-4-10T11:20:56";
try {
DateFormat f = new SimpleDateFormat("yyyy-M-d'T'HH:mm:ss");
f.setLenient(false);
date = f.parse(str);
if (date.compareTo(new Date()) > 0) {
// your code
}
} catch (ParseException e) {
e.printStackTrace();
}
您必须将字符串转换为日期对象。
您可以使用 SimpleDateFormat
.
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){
}
我有一个采用这种格式的约会 -
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();
}
您可以尝试使用 compareTo
Date date = null;
String str = "2015-4-10T11:20:56";
try {
DateFormat f = new SimpleDateFormat("yyyy-M-d'T'HH:mm:ss");
f.setLenient(false);
date = f.parse(str);
if (date.compareTo(new Date()) > 0) {
// your code
}
} catch (ParseException e) {
e.printStackTrace();
}
您必须将字符串转换为日期对象。
您可以使用 SimpleDateFormat
.
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){
}