windows上时间项目时间正常,Ubuntu16.04上时间错误
项目本次测试时间正常,放到服务器上时间差8个小时
1.查看Ubuntu系统时间,发现时间设置错误
date -R
该命令会把我们系统的时间还有时区显示出来,我们是属于东八区,如下图:
如果不是 +0800 这个时区的话,就说明我们的时区不对。如果时区正确,系统时间还是有问题,那么我们需要同步网络时间。
安装ntpdate工具:
sudo apt-get install ntpdate
同步系统时间与网络时间
sudo ntpdate cn.pool.ntp.org
做完上面两步之后,显示时间就可以正常了。
2. 时区不正确的情况
如果我们查看到自己系统的时区不正确的话,那么我们只要重新设置时区就可以让时间显示正确了。
运行 tzselect 工具
sudo tzselect
-
运行这个工具之后,会有文本的简单交互。在这里我们选择亚洲 Asia ,确认之后选择中国 China ,最后选择北京 Beijing ,最后再选择 YES 确认即可。
复制文件到 /etc/localtime 目录下
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
上诉操作完成后,查看Ubuntu时间,显示正确,但是项目采集的时间任然错误
最后找到原因,在项目时区配置的地方修改时区为中国时区
/** * 时区配置 */ @Bean public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() { //Ubuntu16.04系统中添加以下代码 TimeZone time = TimeZone.getTimeZone("Etc/GMT-8"); //转换为中国时区 TimeZone.setDefault(time); return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(time); }