3
public static void getTime() {
    SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
    Time t1 = new Time(Long.parseLong("1369213412435"));
    Time t2 = new Time(Long.parseLong("1369213412245"));
    System.out.println(sdf.format(t1));
    System.out.println(sdf.format(t2));
}

为什么上面的代码打印出来,

2013-05-22 17:03:32
2013-05-22 17:03:32
4

5 回答 5

10

这两个日期仅相差毫秒(435 或 245),您在格式中忽略了这一点。

采用:

 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");

查看不同的值。

于 2013-05-23T08:13:33.687 回答
4

唯一的区别在于毫秒(435 vs 245)。

于 2013-05-23T08:13:55.607 回答
4

这两个日期相差毫秒,即435245

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");

这会做。

于 2013-05-23T08:14:44.027 回答
3

采用 :

 SimpleDateFormat sdf = new SimpleDateFormat(
                    "yyyy-MM-dd HH:mm:ss:SSS"); 

你会看到毫秒部分的差异。

于 2013-05-23T08:14:13.753 回答
0

除了毫秒部分之外,在某些情况下,两个长值可以提供相同的日期。

即以下两个长值具有相同的毫秒并且不同

  • 1458065184000
  • 1458021984000

如果你使用dd-MM-yyyy hh:mm:ss SSS那么它会给你同样的结果。

在这里抓住的是 hh(12 小时格式)与 HH(24 小时格式)。

使用它会给出准确的结果dd-MM-yyyy HH:mm:ss SSS

于 2016-03-16T04:57:51.357 回答