为什么不同的长值转换为相同的日期/时间?

时间:2013-05-23 08:12:07

标签: java date syntax simpledateformat

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

5 个答案:

答案 0 :(得分:10)

这两个日期的差别仅为毫秒(435或245),您可以在格式中忽略这些日期。

使用:

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

看到不同的价值观。

答案 1 :(得分:4)

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

答案 2 :(得分:4)

两个日期的差异为毫秒,即435245

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

这样做。

答案 3 :(得分:3)

使用:

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

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

答案 4 :(得分:0)

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

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

  • 1458065184000
  • 1458021984000

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

此处捕获的是hh(12小时格式)与HH(24小时格式)。

使用它将得到准确的结果 dd-MM-yyyy HH:mm:ss SSS