java项目中有两个获取时间的参数,一个是从数据库字段中拿到获取到的时间,一个是获取系统时间(项目部署在linux系统),获取到的时间均有误(从数据库中拿到的时间通过在catalina.sh文件中添加:JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=CST "
后恢复正常如图(图2中下单时间列那个时间是从数据库中获取的,经过调整后可以恢复,但是如果将图1中的JAVA_OPTS选项注释,将会回到异常状态)
但是获取到的系统时间还是少13小时,总的来说,如果添加图1中的JAVA_OPTS选项,调用的系统时间将会少13小时,如果取消那个选项,从数据库中读取到的固定时间将会少13小时),同时linux系统时间正常(上海时间),bios时间正常,同时,在测试机器上,保证tomcat版本,jdk版本,一致的情况下,另外一台阿里云测试机器是完全没有问题的。
推荐回答:
你服务器的东八区时间对不对,先timedatectl 命令看看服务器时间是不是相差八小时,然后在 timedatectl set-timezone Asia/Shanghai
官方帮助文档地址:阿里云帮助中心
更多参考: 阿里云官方(新用户需官网注册查看)
你服务器的东八区时间对不对,先timedatectl 命令看看服务器时间是不是相差八小时,然后在 timedatectl set-timezone Asia/Shanghai
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。