java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java中new Date().getTime()时间戳

Java中new Date().getTime()时间戳使用详解

作者:L.ZZ

文章解释了Java和JavaScript中Date对象的`getTime()`方法返回的是从特定时区(1.UTC)起至当前时间的总毫秒数,强调与程序实际运行的时区无关,都是从UTC时间起计算,强调文章最后强调了个人观点,并鼓励大家多多支持脚本之家

getTime()返回值

JavaJavaScript都支持时间类型Date,他们的getTime()方法返回的是毫秒数。

默认返回的是13位数字单位是毫秒

注意事项

 /**
     * Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT
     * represented by this <tt>Date</tt> object.
     *
     * @return  the number of milliseconds since January 1, 1970, 00:00:00 GMT
     *          represented by this date.
     */
    public long getTime() {
        return getTimeImpl();
    }

容易造成误解的地方

如果程序运行在东八区,它返回北京时间1970年01月01日08时00分00秒起至现在东八区时间总毫秒数

如果运行在UTC时区则返回1970年01月01日00时00分00秒起至当前UTC时间总毫秒数

看起来似乎getTime()方法获取的时间戳与程序所运行的时区有关。

Perdió的解释非常好,摘抄如下:

其实不是的,getTime()本身是没有问题,取到的timestamp就是从1970-01-01 00:00:00(UTC)起到当前的毫秒数。

与程序真实运行的容器(服务器)所在的时区无关。

东八区"北京时间1970年01月01日08时00分00秒"不就是UTC1970年01月01日00时00分00秒吗。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文