正保建设工程网站,广西容县建设网站,网站seo基础优化,西安农产品网站建设文章目录1.背景描述2.知识储备3.解决步骤1. 查看当前时区2.修改设置Linux服务器时区3.复制相应的时区文件#xff0c;替换系统时区文件#xff1b;或者创建链接文件4. 查看和修改Linux的时间5. 硬件时间和系统时间的 相互同步1.背景描述
最近一个项目日期采用java8的LocalDa…
文章目录1.背景描述2.知识储备3.解决步骤1. 查看当前时区2.修改设置Linux服务器时区3.复制相应的时区文件替换系统时区文件或者创建链接文件4. 查看和修改Linux的时间5. 硬件时间和系统时间的 相互同步1.背景描述
最近一个项目日期采用java8的LocalDate 和 LocalDateTime 在本地windows 下运行日期没有问题但是当部署到linux 系统上时相差8 小时第一时间想到时linux 服务器日期和时间设置的问题。果断登陆linux 服务器查看。
2.知识储备
GMT(Greenwich Mean Time格林威治标准时间): 是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间因为本初子午线被定义在通过那里的经线。UTC(Universal Time/Temps Cordonné 世界标准时间)CST(Central Standard Time 國家標準時間一說中原標準時間); 中国标准时间China Standard Time GMT 8 UTC 8 CSTlinux系统时钟有两个一个是硬件时钟即BIOS时间就是我们进行CMOS设置时看到的时间另一个是系统时钟是linux系统Kernel时间。当Linux启动时系统Kernel会去读取硬件时钟的设置然后系统时钟就会独立于硬件运作。有时我们会发现系统时钟和硬件时钟不一致因此需要执行时间同步java程序获取的时间都是GMT / UTC 时间而系统是北京时间应该是GMT/UTC8刚好相差8小时 Linux下查看/修改系统时区、时间 https://blog.51cto.com/royfans/5612595
3.解决步骤
1. 查看当前时区
datedate -Rtimedatectl2.修改设置Linux服务器时区
方法 A 命令 tzselect
方法 B 仅限于RedHat Linux 和 CentOS 命令 timeconfig 方法 C 适用于Debian 命令 dpkg-reconfigure tzdata
3.复制相应的时区文件替换系统时区文件或者创建链接文件
方法A: 复制
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime例如在设置中国时区使用亚洲/上海8cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime方法B(推荐): 创建软连接
# 改为 CST shanghai 时间
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# 改为UTC 时间此方法可以解决linux 上 java 日期相差 8 小时问题
ln -sf /usr/share/zoneinfo/UTC /etc/localtime方法C: 使用 timedatectl
timedatectl set-timezone Asia/Shanghai4. 查看和修改Linux的时间
查看时间和日期
命令 date
2.设置时间和日期
例如将系统日期设定成2009年11月3日的命令
命令 date -s 11/03/2009
将系统时间设定成下午5点55分55秒的命令
命令 date -s 17:55:55
将当前时间和日期写入BIOS避免重启后失效
命令 hwclock -w
注意 date 不加参数可以直接看到当前日期时间 cal 不加参数可以直接看到本月月历
5. 硬件时间和系统时间的 相互同步
hw代表硬件时间sys代表系统时间 硬件时钟与系统时钟同步 #hwclock --hctosys 或者 # clock --hctosys hc系统时钟和硬件时钟同步
#hwclock --systohc
或者
#clock --systohc