背景
今天公司一个模块从服务器迁移到k8s,出现时间toString()以后输出结果和以前不一致的情况,原因是以前是CST时间,k8s上统一设置环境时区为GMT-8了。
CST:China Standard Time(老外认为有其他含义,中国就这个缩写),中国标准时。
GMT:Greenwich Mean Time,格林威治标准时,地球每15°经度 被分为一个时区,共分为24个时区,相邻时区相差一小时;例: 中国北京位于东八区。
如何设置
-Duser.timezone=GMT+08 启动命令设置jvm参数,修改时区。默认会读取服务器时区,中国企业服务器时区一般为:Asia/Shanghai,Asia/Shanghai是CST时间。
有何变化
不设置-Duser.timezone时,代码输出结果如下:
System.out.println(new Date()