JAVA实现UTC时间转换成北京时间

来源:互联网 发布:数据中标网 编辑:程序博客网 时间:2024/04/28 19:10

之前有一篇关于将UTC时间转换成北京时间的python文章(传送门),这次需要用到java版的,本以为这种小工具网上会很多,但是在网上搜了一圈之后发现都不尽人意。

UTC就是世界标准时间,与北京时间相差八个时区(相关文章)。所以只要将UTC时间转化成一定格式的时间,再在此基础上加上8个小时就得到北京时间了。

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.*;/** * Created by LiChao on 2017/11/23 */public class RegexTest {    public static void main(String args[]) throws ParseException {        UTCToCST("2017-11-27T03:16:03.944Z", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");    }    public static void UTCToCST(String UTCStr, String format) throws ParseException {        Date date = null;        SimpleDateFormat sdf = new SimpleDateFormat(format);        date = sdf.parse(UTCStr);        System.out.println("UTC时间: " + date);        Calendar calendar = Calendar.getInstance();        calendar.setTime(date);        calendar.set(Calendar.HOUR, calendar.get(Calendar.HOUR) + 8);        //calendar.getTime() 返回的是Date类型,也可以使用calendar.getTimeInMillis()获取时间戳        System.out.println("北京时间: " + calendar.getTime());    }}
原创粉丝点击