1. 程式人生 > >Java中處理時區的轉換

Java中處理時區的轉換

最近在抓英國博彩網站的資料,他們給出的時間都是格林威治時間,我們需要轉換為中國時間才能使用,這裡要用到Java裡的TimeZone介面。

通過下面的程式碼即可進行轉換。

TimeZone timeZone = TimeZone.getTimeZone("GMT+8:00");
// dateTime是格林威治時間
long chineseMills = dateTime.getTime() + timeZone.getRawOffset();
Date chineseDateTime = new Date(chineseMills);

chineseDateTime就是中國本地時間。

前面是特殊情況,如果得到的是荷蘭的時間,我們就要計算出我們相對於荷蘭時區的偏移量,例如:

TimeZone timeZone = TimeZone.getTimeZone("GMT+8:00");
TimeZone HollandTimeZone = TimeZone.getTimeZone("GMT+1:00");
// dateTime是荷蘭時間
long chineseMills = dateTime.getTime() + timeZone.getRawOffset() - HollandTimeZone.getRawOffset();
Date chineseDateTime = new Date(chineseMills);

新開了公眾號,歡迎關注,主要分享一些讀書筆記