Docker时间时区修改,镜像创建后修改时间,容器里UTC时间转换

Docker时区修改

XXL-JOB用镜像启动后发现时间到了无法触发,然后发现是由于容器时区的问题。

未解决前docker run语句

docker run -d --name xxl-job -p 5080:5080  镜像id

解决办法,加个参数-e TZ=Asia/Shanghai

run语句如下

docker run -e TZ=Asia/Shanghai -d --name xxl-job -p 5080:5080 镜像id

UTC时间转换

将时间字符串 2021-05-23T12:02:00.000Z,转成 2021-05-23 20:02:00

    public static void main(String[] args) {
        System.out.println(Test.UTCStringtODefaultString("2021-05-23T12:02:00.000Z"));
    }
    public static String UTCStringtODefaultString(String UTCString) {
        try {
            UTCString = UTCString.replace("Z", " UTC");
            SimpleDateFormat utcFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
            utcFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
            SimpleDateFormat defaultFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            defaultFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
            Date date = utcFormat.parse(UTCString);
            return defaultFormat.format(date);
        } catch (Exception e){
            return UTCString;
        }
    }

 

    原文作者:JackenLe
    原文地址: https://blog.csdn.net/JackenLe/article/details/117230196
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞