使用在Timezone1的机器上执行的javascript代码和在Timezone2的机器上执行的Java代码获得的当前时间毫秒数是否有任何差异?
下面是这个用例的示例代码。
new Date().getTime();
使用上面的代码,我得到以毫秒为单位的当前时间。我的机器在IST
同时,我的朋友在他的PDT机器上执行下面的代码。
public class Time
{
public static void main(String args[])
{
System.out.println(System.currentTimeMillis());
}
}
当我们同时执行代码时。我们得到了大约40秒的差异。
我在这个理解中错过了什么吗?
是的,在正常情况下会有差异,即如果每个系统的时钟设置为正确的时区,并且如果客户端代码是一致的:
- 使用本地时间,而不是UTC。
- 使用Date对象的默认构造函数,它返回当前日期/时间
显然,如果在两台机器上没有同时检索日期,那么真正的差异将是不准确的。