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;
}
}