极难:如何得到从1582年10月15日0点0分UTC开始到现在的百纳秒数?

时间:2022-01-15 14:32:39
用System.currentTimeMillis()得到的是从1970年1月1日开始到现在的毫秒数,但如何计算从1582年10月15日0点0分的到现在的百纳秒数?

9 个解决方案

#1


要到百纳秒?这么精确 得到毫秒 * (1E-4)行不?

#2


比较复杂,因为公元1582年10月罗马教皇格列高里改历,所以历史上所谓公元的某些日子并不存在。
此外还要考虑“润秒”

#3


我想知道的是1582年10月15日0点0分以后到现在,所以应该不存在改历的影响,但是"润秒"的算法是怎样实现的呢?

#4


System.nanoTime();
这个得到的是纳秒

#5


JDK1.4里面该如何实现呢?

#6


第一次听说润秒的概念

#7


要求太高了吧, 这么精确...

毫秒还不够用?

楼主说说看你做的是什么系统!

#8


其实还有超秒

#9


其实得到什么级别的秒不是问题,问题是如何计算1582年10月15日到现在的时间,用什么秒表示无所谓,或者得到1582年到1970年之间的时间,1970年到现在的时间可以用System.currentTimeMillis()得到.

#1


要到百纳秒?这么精确 得到毫秒 * (1E-4)行不?

#2


比较复杂,因为公元1582年10月罗马教皇格列高里改历,所以历史上所谓公元的某些日子并不存在。
此外还要考虑“润秒”

#3


我想知道的是1582年10月15日0点0分以后到现在,所以应该不存在改历的影响,但是"润秒"的算法是怎样实现的呢?

#4


System.nanoTime();
这个得到的是纳秒

#5


JDK1.4里面该如何实现呢?

#6


第一次听说润秒的概念

#7


要求太高了吧, 这么精确...

毫秒还不够用?

楼主说说看你做的是什么系统!

#8


其实还有超秒

#9


其实得到什么级别的秒不是问题,问题是如何计算1582年10月15日到现在的时间,用什么秒表示无所谓,或者得到1582年到1970年之间的时间,1970年到现在的时间可以用System.currentTimeMillis()得到.