在我的应用程序中,我需要比较以下格式给出的两个不同日期。
输入:有 2 个字符串格式的输入日期。
String actual="11/12/2012 11:26:04 AM";
String expected="21/12/2012 09:49:12 AM";
我正在尝试使用下面的 java 代码进行比较。
SimpleDateFormat format= new SimpleDateFormat("dd/MM/YYYY hh:mm:ss a");
Date date1 = format.parse(actual);
System.out.println("Formated date1 is: "+format.format(date1).toString());
// prints : 01/01/2012 11:26:04 AM Why????
Date date2= format.parse(expected);
System.out.println("Formated date2 is: "+format.format(date2).toString());
// prints : 01/01/2012 09:49:12 AM Why????
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
if( !(cal1.compareTo(cal2)<=0))
{
result=false;
String errMsg +="Actual:"+actual+" date is not before or equal to expected:"+expected+" date\n";
System.out.println(errMsg);
}
但是上面的代码没有按预期工作。请检查评论中提到的错误输出
我认为格式有问题。谁能帮帮我吗。