System.currentTimeMillis测量时间

时间:2014-09-10 12:58:26

标签: java

当我使用System.currentTimeMillis()来衡量时间时,是否安全?

E.g。当发生时移(夏天 - >冬天时间)会产生错误吗?

2 个答案:

答案 0 :(得分:5)

不,System.currentTimeMillis()返回自Unix纪元(1970年1月1日午夜,UTC)午夜以来经过的毫秒数。这完全取决于您当地的时区。

换句话说,如果你每秒呼叫一次,它总是增加大约1000(“约”只是由于时钟准确性和呼叫不可能确切相隔1秒)。如果您的本地时区更改其与UTC的偏移量,或者您甚至更改整个时区也无关紧要 - 这将无关紧要。

从理论上讲,闰秒会让所有这些变得更加棘手 - 但在实践中,大多数应用程序都可以通过概念性地将手指放在耳朵上并且说“我不在Leap Second先生的家中。”

答案 1 :(得分:1)

System.currentTimeMillis()将返回自epoch (1/1/1970 00:00:00)以来的毫秒数。如何解释这些是一个完全不同的故事(夏季/冬季时间以及时区属于解释部分)。所以是的,这将是保存。

相关问题