Linux 系统修改时区,nodejs 进行时间戳转换时,相差8小时

本文记录了Linux系统时间设置和时区转换的方法。包括查看系统时间和时区,更改时区,时间同步或修改,防止系统时间重启失效的操作,还强调最后需重启服务器,否则Node.js程序读取时间戳会有8小时差值,操作时要注意备份数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做一个简单记录:

1、查看系统时间 date &&  date "+%Y-%m-%d %H:%M:%S"  按照格式显示当前日期,结果如下:

   

图中是修改后的时间(CST 表示的是美国、澳大利亚、古巴或中国的标准时间)

2、查看时区 date "+%Z":

 我系统之前查出来的是WAT (西非时间)

3、更改时区:

      先备份时区文件 mv /etc/localtime /etc/localtime.bak
      中国时区,可以使用:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


4、时间同步或者修改时间:

      a. 修改时间:date -s 07/11/2019 18:55:23 

      b.同步服务器时间:ntpdate -u ntp.api.bz 

      说明:Centos系统,如果没有ntpdate命令使用yum install ntp更新;

5、防止系统时间设置后重启失效,需要执行:

       # hwclock -w
      # hwclock --hctosys

      # clock --systohc 

     说明:hc代表硬件时间,sys代表系统时间,以硬件时间为基准,系统时间找硬件时间同步,以系统时间为基准,硬件时间找系统时间同步

6、最后一步是 关键一步,就是需要服务器重启一下。本人亲测,如果不重启服务器,nodejs 程序读取 let datetime = new Date(2019,6,1,0,0,0).getTime() 得到的时间戳 和正常系统的时间戳(1561910400000 )相差8个小时,被这个时间差弄得查询数据都不准确,研究了一下午,最后选择了重启机器,才搞定这个差值。

说明:需要将有用的数据备份的,或者趁服务器上的服务空闲进行操作,不然可能影响线上体验。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值