UTC(世界標準時間)/GMT(格林威治時間)/CST(北京時間)

關於時間格式 2016-08-9T10:01:54.123Z 20160809100154.123Z 處理方法

今天遇到了一個奇怪的時間格式

如以下格式,下面兩種時間格式所表示的時間是同一個時間,這個不難理解

//UTC時間,世界標準時間
2016-08-9T10:01:54.123Z 

20160809100154.123Z

如圖所示,這是一張由網友提供的圖片,裏面顯示的是時間

UTC時間轉換爲GSM時間
UTC時間轉換爲GSM時間

然後無論如何,這個奇怪的時間我們可能看不懂,但是我們最終要顯示的時間是北京時間(如果你是其他國家的人就另當別論了哦)

那麼下面我們就來簡單介紹一下關於時間的一些基本知識:

首先是UTC:協調世界時

協調世界時(英:Coordinated Universal Time ,法:Temps Universel Coordonné),又稱世界統一時間,世界標準時間,國際協調時間。英文(CUT)和法文(TUC)的縮寫不同,作爲妥協,簡稱UTC。
世界標準時間UTC:GMT+0

GMT:格林尼治平時

世界時UT 即格林尼治時間,格林尼治所在地的標準時間。以地球自轉爲基礎的時間計量系統。地球自轉的角度可用地方子午線相對於地球上的基本參考點的運動來度量。爲了測量地球自轉,人們在地球上選取了兩個基本參考點:春分點(見分至點)和平太陽,由此確定的時間分別稱爲恆星時和平太陽時。
但是格林尼治本地的時間比格林尼治平時,大一小時,也就是格林尼治本地的時間:GMT+1

CST時間:也就是北京時間

通常我們在數據庫中存放,或者給用戶看的時間都是CST時間
北京時間CST:GMT+8

現在我們說說上面的時間

2016-08-9T10:01:54.123Z

20160809100154.123Z

首先字母T:他表示後面跟的時間

而最末尾的Z表示UTC統一時間

而123表示的毫秒,大家可以測試將123改爲1230,最後得到的時間,秒會增加1秒

如上面第一個 表達式 2016-08-9T10:01:54.123Z

我們可以這樣來獲得一個CST(北京時間)時間,看如下代碼:

String str ="2016-08-9T10:01:54.123Z";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
Date d = format.parse(str.replace("Z", " UTC"));//注意是空格+UTC
System.out.println(d);

這樣我們就獲得了一個本地的時間

最後我們得到的時間是:Tue Aug 09 18:01:54 CST 2016

而表達式 20160809100154.123Z

他的轉換方式也是一樣的,知識格式化時,將格式化字符串修改以下即可:yyyyMMddHHmmss.SSS Z

北京時間所屬時區: UTC/GMT +8
格林威治標準時間所屬時區: UTC/GMT +1

格林威治時間格式:
Thu Oct 16 07:13:48 GMT 2015

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章