System.currentTimeMillis() 得到的毫秒时间是以1毫秒为单位,还是以10毫秒为单位

时间:2021-12-11 03:42:43
System.currentTimeMillis(),我看了java中提示,说是以系统的精度为基础。
有一段代码中这样写System.currentTimeMillis() - 360000l * 24 * 140计算的本意是减去140天的时间段,可是正常应该是减去3600000 * 24 *140才对的。在下是在不明白为什么是写360000而不是3600000

8 个解决方案

#1


该回复于2015-05-26 11:29:01被管理员删除

#2


呵呵,可能是写漏了吧,应该是1毫秒为单位的

#3


看了下jdk,这样说的
返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。例如,许多操作系统以几十毫秒为单位测量时间。 

#4


正确的应该是
System.currentTimeMillis() - 3600000L * 24L * 140L

#5


这样也才
System.currentTimeMillis() - 3600000L * 24 * 140

#6


以下是几种运行结果,自己算算哪个对


Date date = new Date(System.currentTimeMillis() - 3600000L * 24 * 140);
System.out.println(date);
//运行结果:Thu Feb 14 16:20:08 CST 2008

Date date = new Date(System.currentTimeMillis() - 360000L * 24 * 140);
System.out.println(date);
//运行结果:Thu Jun 19 16:22:31 CST 2008

Date date = new Date(System.currentTimeMillis() - 3600000 * 24 * 140);
System.out.println(date);
//运行结果:Sat Jul 12 19:31:11 CST 2008

#7


越减越多了。。。

#8


呵呵,谢了,哎,等我发完帖才想起来。用Date一算便知道了。郁闷,呵呵,看来自己需要学的真的是很多啊。小弟在此多谢了。

#1


该回复于2015-05-26 11:29:01被管理员删除

#2


呵呵,可能是写漏了吧,应该是1毫秒为单位的

#3


看了下jdk,这样说的
返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。例如,许多操作系统以几十毫秒为单位测量时间。 

#4


正确的应该是
System.currentTimeMillis() - 3600000L * 24L * 140L

#5


这样也才
System.currentTimeMillis() - 3600000L * 24 * 140

#6


以下是几种运行结果,自己算算哪个对


Date date = new Date(System.currentTimeMillis() - 3600000L * 24 * 140);
System.out.println(date);
//运行结果:Thu Feb 14 16:20:08 CST 2008

Date date = new Date(System.currentTimeMillis() - 360000L * 24 * 140);
System.out.println(date);
//运行结果:Thu Jun 19 16:22:31 CST 2008

Date date = new Date(System.currentTimeMillis() - 3600000 * 24 * 140);
System.out.println(date);
//运行结果:Sat Jul 12 19:31:11 CST 2008

#7


越减越多了。。。

#8


呵呵,谢了,哎,等我发完帖才想起来。用Date一算便知道了。郁闷,呵呵,看来自己需要学的真的是很多啊。小弟在此多谢了。