这是一个简单的问题,但我对这个答案有多复杂感到紧张。
我想在我的申请中知道,自纪元以来已经过了多少小时。更具体地说,我想知道“自纪元以来GMT时钟结束时有多少次:00”
通常我会这样做:
number_of_seconds_since_epoch / 3600
但我不确定一小时是否正好是3600秒。我一直听说地球如何减速和加速,以及如何做出奇怪的事情等等。
任何人都可以用任何语言向我展示正确的方法吗?谢谢!
答案 0 :(得分:1)
GMT没有夏令时更改,因此您可以计算自纪元以来的小时数
int hours = (int) (System.currentTimeMillis() / 3600000);
答案 1 :(得分:1)
在Date API中有关于闰秒的讨论,其中一个要点是:
大多数计算机时钟都不够精确,无法反映闰秒的差异。
答案 2 :(得分:0)
这里要小心。根据你从纪元开始获得numbre秒数的方式,你可能不必关心闰秒。如果您调用操作系统API,您将获得自1970-01-01T00:00:00纪元以来的秒数。
已插入闰秒以使日期适应地球自转。只计算自纪元以来的秒数就是OS API返回的时间。