须要注意的new Date 时区问题

(1)、Date中保存的是什么程序员

Date对象里存的只是一个long型的变量,其值为自1970年1月1日0点至Date对象所记录时刻通过的毫秒数。调用Date对象getTime()方法就能够返回这个毫秒数。函数

(2)、时区spa

全球分为24个时区,相邻时区时间相差1个小时。好比北京处于东八时区,东京处于东九时区,北京时间比东京时间晚1个小时。操作系统

(3)、不一样与相同.net

不一样的时区,执行下面的语句 Date date = new Date();  new出的date对象里存的毫秒数是相同的对象

确切的说,Date对象里存的是自格林威治时间( GMT)1970年1月1日0点至Date对象所表示时刻所通过的毫秒数。因此,若是某一时刻遍及于世界各地的程序员同时执行new Date语句,这些Date对象所存的毫秒数是彻底同样的。也就是说,Date里存放的毫秒数是与时区无关的。blog

执行打印时 System.out.println(date); 时区不一样会打印出不一样的时间,北京的程序员将会打印出2017年8月24日11:17:10,而东京的程序员会打印出2017年8月24日12:17:10get

这是由于Sysytem.out.println函数在打印时间时,会取操做系统当前所设置的时区,而后根据这个时区将同毫秒数解释成该时区的时间。 固然咱们也能够手动设置时区,以将同一个Date对象按不一样的时区输出。 博客

 详细的能够参考下这篇博客:https://blog.csdn.net/halfclear/article/details/77573956变量

感谢!

相关文章
相关标签/搜索