解决服务器时间与实际时间相差8小时问题

Java项目解决服务器时间与实际时间相差8小时问题

在实际部署项目到服务器运行时,我们通常会发现程序在服务器上执行的时间实际上时比现实时间要慢8小时的,其实这是因为本地时区和服务器的时区不一样,差了8个小时导致,那么如何去纠正8小时的时差呢?以下是我常用的解决方法

1. 在使用Jar命令启动服务时添加-Duser.timezone=GMT+8
java -Duser.timezone=GMT+8 -jar YourJarFile.jar

其中,-Duser.timezone=GMT+8参数指定了时区为中国标准时间(GMT+8),YourJarFile.jar是您需要运行的Jar文件名。

通过这种方式启动Java应用程序后,系统会自动使用指定的时区来获取当前时间,避免出现服务器时间与实际时间相差8小时的问题。

2.如果使用Dockerfile构建镜像容器可以添加-Duser.timezone=GMT+8
CMD ["java","-jar", "YourJarFile.jar","-Duser.timezone=GMT+08"]
3.如果使用docker构建项目 也可以在docker run 命令加上-e TZ=“Asia/Shanghai”
docker run --name xxx -e TZ="Asia/Shanghai" -p 1000:1000 -d 容器ID

如果还有其他好的方法要补充 欢迎评论交流

你可能感兴趣的:(服务器,java,运维)