小编Vik*_*nge的帖子

无法比较两个日期java,使用SimpleDateFormat将字符串转换为日期时转换无效"dd/MM/YYYY hh:mm:ss a"

在我的应用程序中,我需要比较以下格式给出的两个不同日期.

输入:String格式有2个输入日期.

String actual="11/12/2012 11:26:04 AM";
String expected="21/12/2012 09:49:12 AM";
Run Code Online (Sandbox Code Playgroud)

我试图使用下面的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);
}
Run Code Online (Sandbox Code Playgroud)

但上面的代码没有按预期工作.请检查评论中提到的错误输出

我认为格式化有问题.谁能帮帮我吗.

java compare date simpledateformat

1
推荐指数
1
解决办法
794
查看次数

标签 统计

compare ×1

date ×1

java ×1

simpledateformat ×1