System.currentTimeMillis的(); 如果我改变系统时间

Twi*_*one 10 java time

如果我System.currentTimeMillis()在00:00 使用,我就会获得X价值.

然后我将时钟设置回一小时,一小时后我打电话System.currentTimeMillis().

它会X再次返回,还是只会返回X + 3600 * 1000

NPE*_*NPE 11

简而言之,每当您更改系统时间时,返回的值System.currentTimeMillis()都会相应更改.

这与之形成鲜明对比System.nanoTime().

  • @TwinOneAndroid对于测量*时间跨度*,我相信你应该**总是**使用`nanoTime()`.(不记得确切的原因,与系统时间有关的事情在某些方面与违反直觉的行为有关.所以请稍等一下.) (2认同)
  • nanoTime()的要点是,当系统时钟以某种方式调整时,*不会*改变,因此相隔一段时间的两个时间戳将正确反映该时间跨度,无论时钟调整如何. (2认同)