Java-Java:毫秒在Windows平台是支持的不够好吗?
现在的功能是开启一个线程写文件,文件名为当前时间戳精确到毫秒
生成方法名:
filename=DateUtil.getNowTime();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
现在的功能是开启一个线程写文件,文件名为当前时间戳精确到毫秒
生成方法名:
filename=DateUtil.getNowTime();
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
最后还真是Windows上只能精确到15ms,最后只能时间戳+随机数了=。=
我觉得...
一个毫秒内写 几个文件, 计算机搞得定吧? 所以你的文件的时间戳是一样的...
Java现在支持NanoTime, 十亿分之一秒. 毫秒级还是太弱了. 你试试这个:
@Test
public void timeTest(){
StringBuffer sbMillis = new StringBuffer("MILLIES:n");
for(int i=0; i < 10; i++)
sbMillis.append(System.currentTimeMillis()+"n");
System.out.println(sbMillis);
StringBuffer sbNano = new StringBuffer("NANOS:n");
for(int i=0; i < 10; i++)
sbNano.append(System.nanoTime()+"n");
System.out.println(sbNano);
}
在我的Win7下, nano time是不会重复的. millis就是一样的了.
不过Java doc里:
"This method provides nanosecond precision, but not necessarily nanosecond resolution (that is, how frequently the value changes) - no guarantees are made except that the resolution is at least as good as that of currentTimeMillis()."
精度是不保证的, 但肯定比currentTimeMillis 要精确.
最后如果你还想用现在的解决方案, 两次写文件中间 Thread.sleep 一毫秒, 如果可以接收的话.