• 【已解决】CentOS7等linux系统时区时间不对显示误差8小时


    问题

    • 中国使用的是东八区上海时间,而linux服务器,一般默认是0时区UTC,所以需要将时区改为东八区CST
    • 将时区改为东八区后,显示的实际仍然不对,仍然差8小时或16小时,这说明时间不对
    • 时间修改正确后,服务器重启,时间显示又错误了,因为没改硬件时钟时间

    解决

    • linux系统时间,与本地时间不一致,一般有两种情况
    • 一是时区设置错误,不是当地使用时区
    • 二是时间设置错误,未联网校时,或者人为不小心设置错了

    处理时区问题

    date查看时间、时区
    • 首先查看时间是否正确,与当地时间一致,可使用以下命令
    date
    date -R
    
    • 1
    • 2

    在这里插入图片描述

    • date查看日期时间,date -R则会把时区一起显示出来
    • 可以看到上面的时间错了(与当地时间误差几分钟),下面时间虽然对了但是时区不对(应该为+0800)
    timedatectl查看时间、时区
    • 也可以使用timedatectl查看和设置时区
      在这里插入图片描述
    • Local time:当前使用的时区的时间,也就是date命令显示的时间
    • Universal time:世界时间,也就是0时区时间,世界通用的协调时间
    • RTC time:硬件时钟时间,关机也会
    • Time zone:现正使用的时区,可以看到上面是CST,中国时区,是对的
    查看localtime
    • 也可以直接使用ls -l /etc/localtime查看系统当前的时区
      在这里插入图片描述
    设置时区
    • 第一种方式,可以通过zoneinfo直接设置
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
    • 1
    • 第二种方式,与第一种类似,使用软连接
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
    • 1
    • 第三种方式,使用timedatectl设置时区
    timedatectl set-timezone Asia/Shanghai
    
    • 1

    处理时间问题

    • 如果时区已经设置对了,时间显示还是不对,可以手动设置下时间,或者使用互联网校时
    • 需要安装ntpdate,再校时即可,但是需要在联网情况下进行
    yum install -y ntp ntpdate
    ntpdate 0.asia.pool.ntp.org
    date
    
    • 1
    • 2
    • 3
    • 如果没有联网,只能直接使用date -s 日期 时间设置了
    • 时间显示正确后,查看下硬件时间,顺便把硬件时间也改对,防止重启失效
    hwclock --show
    # hc代表硬件时间,sys代表系统时间,即用系统时钟同步硬件时钟
    hwclock --systohc  
    ## 或   
    clock --systohc  
    hwclock -w
    date
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    Linux GCC简明教程(使用GCC编译C语言程序)
    处理爬取html内容调用RestTemplate方法远程调接口会出现中文乱码问题
    进程信号(linux)
    详解GMM高斯混合模型EM模型
    扩散模型实战(九):使用CLIP模型引导和控制扩散模型
    【C++】基础语句(学习笔记)
    101. Go单测系列1---使用monkey打桩
    ArcGIS制作某村土地利用现状图
    (附源码)spring boot投票系统 毕业设计 261136
    unity 多个materials 赋值
  • 原文地址:https://blog.csdn.net/u010882234/article/details/128024735