如果我在凌晨00:00使用System.currentTimeMillis()
,并得到值为X
。
然后我把时钟往回调整一个小时,在经过一小时后再调用System.currentTimeMillis()
。
它会再次返回X
,还是只会是X + 3600 * 1000
?
如果我在凌晨00:00使用System.currentTimeMillis()
,并得到值为X
。
然后我把时钟往回调整一个小时,在经过一小时后再调用System.currentTimeMillis()
。
它会再次返回X
,还是只会是X + 3600 * 1000
?
简而言之,每当您更改系统时间时,System.currentTimeMillis()
返回的值也会相应更改。
这与System.nanoTime()
不同。
nanoTime()
。(记不清确切原因了,与系统时间在某些方面表现出反直觉的行为有关。所以这只是一个参考建议。) - millimoosecurrentTimeMillis()
的粒度取决于操作系统,而事实上,nanoTime()
的分辨率应该在1毫秒以下。(参考 https://code.google.com/p/javasimon/wiki/SystemTimersGranularity ) - millimooseSystemClock.elapsedRealtime()
。