java.util.Date 格式 SSSSSS:如果不是微秒,最后三位数字是什么?

14 浏览
0 Comments

java.util.Date 格式 SSSSSS:如果不是微秒,最后三位数字是什么?

我在我的Windows(8)工作站和AIX上测试了这段代码:

public static void main(String[] args) {
    System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").format(new Date()));
    System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").format(new Date()));
}

得到了类似于以下结果:

2013-10-07 12:53:26.000905
2013-10-07 12:53:26.000906

请问有人能解释一下最后几位数字是什么,如果不是微秒的话?

注:我与一个DB2数据库交互,其中的时间数据是使用带有6位小数秒的TIMESTAMP列存储的(在我看来是微秒)。

但是所有这些“时间戳”都是通过请求以下查询来创建的:

SELECT current timestamp as currenttimestamp FROM Table ( values (1)) temp

我想知道,鉴于上述结果,我是否可以在我的代码中使用`new Date()`而不是从数据库中选择`current timestamp`。

谢谢。

附言:我搜索过,但没有找到相关的(已回答)问题,比如:

[Current time in microseconds in java](https://stackoverflow.com/questions/1712205/current-time-in-microseconds-in-java)

或者

[Get time with hour, minute, second, millisecond, microsecond](https://stackoverflow.com/questions/8892769/get-time-with-hour-minute-second-millisecond-microsecond)

0