須要注意的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變量

感謝!

相關文章
相關標籤/搜索