最近在抓英国博彩网站的数据,他们给出的时间都是格林威治时间,我们需要转换为中国时间才能使用,这里要用到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);
新开了公众号,欢迎关注,主要分享一些读书笔记