Java中new Date().getTime()时间戳问题
1. getTime()返回值
Java和JavaScript都支持时间类型Date,他们的getTime()方法返回的是毫秒数。默认返回的是13位数字,单位是毫秒。
2. 注意事项
/** * 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()方法获取的时间戳与程序所运行的时区有关。
的解释非常好,摘抄如下: 其实不是的,getTime()本身是没有问题,取到的timestamp就是从1970-01-01 00:00:00(UTC)起到当前的毫秒数。与程序真实运行的容器(服务器)所在的时区无关。东八区"北京时间1970年01月01日08时00分00秒"不就是UTC的1970年01月01日00时00分00秒吗。
参考
下一篇:
MAC安装Mysql超详细完整教程