java查找历元和当前时间之间的时差
当使用系统获取其中一个时间值时,我需要找到两个时间值之间的差异。currentTimeMillis()即它是the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC
,另一个是使用系统获取的。nanoTime()表示它是current value of the running Java Virtual Machine's high-resolution time source, in nanoseconds
我该怎么做
# 1 楼答案
这是不可能的。你对纳米时代及其目的有误解
从the documentation:
# 2 楼答案
你无法比较它们;它们是苹果和桔子,不是在同一个尺度上测量的,也不是在同一个时间点上测量的。特别是,虽然自1970年1月1日00:00:00Z起
currentTimeMillis()
是毫秒,但nanoTime()
是从。。。嗯,可能是您的机器、JVM或任何东西的启动时间如果您同时调用这两个方法并记录相关性,那么以后可以进行类似的相关性,但这是唯一的方法,不能保证精确