让我们拥有以下内容:
Date inDbDate = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
inDbDate = sdf.parse("2015-09-27 23:24:28.035");
现在,当我输出inDbDate时,我会收到以下内容:
Sun Sep 27 23:24:28 EEST 2015
所以,如果我有两个有毫秒差异的日期,就无法找到或显示它。
如何比较两种日期格式 - 2015-09-27 23:24:28.035?
答案 0 :(得分:3)
如果要比较两个Date变量,可以在(),before(),equals()之后提供一些方法。
kABSourceTypeExchange
您可以将上述方法复制并粘贴到IDE中,然后尝试更改Date变量中的时间,看看结果是什么,以及更改if语句中执行的检查。
如果查看调试器中某个Date对象的值,可以看到毫秒数,只是在以某种格式打印时才显示。
答案 1 :(得分:1)
1/ you should parse inDbDate with date format ==> inDbDate = sdf.parse("2015-11-11 23:24:28.035");
2/ you can now compare the two dates
if (inDbDate.compareTo(new Date()) > 0) {
System.out.println("inDbDate is after the current date !!");
}
3/ if you want to display, you format it
System.out.println("current time = " + sdf.format(new Date()));