背景
项目使用环境:版本:Thingworx9.2.3,在使用new Date()函数查询当前时间时和北京时间相比多了8小时。
解决方案
1、首先查询服务器上的时区
timedatectl
如果是UTC时区,执行下面步骤 将时区更新为中国时间。
2、更新为中国时间
#查看服务器是否有Shanghai时区,如果没有就新增一个
timedatectl list-timezones | grep Shanghai
#设置为中国时间
timedatectl set-timezone Asia/Shanghai
#更新时间为当前时间
timedatectl set-time "2022-01-16 12:45:00"
3、如果是使用Thingworx服务启动的,在启动参数中加上
-Duser.timezone=UTC+8:00
4、 如果是在tomcat中使用监本启动(start.sh),在tomcat中catalina.sh文件新增
JAVA_OPTS="$JAVA_OPTS -Duser.timezone=UTC+8:00"
最后重启Thingworx
Thingworx时区比较坑,出现过new Date()函数是正常的,但查询数据库的时间字段又会出现加/减8小时问题。