Java中處理時區的轉換
阿新 • • 發佈:2019-01-07
最近在抓英國博彩網站的資料,他們給出的時間都是格林威治時間,我們需要轉換為中國時間才能使用,這裡要用到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);
新開了公眾號,歡迎關注,主要分享一些讀書筆記