Java日期无法正常工作

时间:2015-11-11 10:40:28

标签: java date milliseconds

让我们拥有以下内容:

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?

2 个答案:

答案 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()));