解决centos与windows双系统时间不一致问题

问题表现:

在windows下装centos的虚拟机后,centos时间显示有问题,正好相差8小时:
在windows下显示
在这里插入图片描述
在centos7.5下显示
在这里插入图片描述

问题原因:

两者皆显示是cst,表明时区设置没有问题,问题应该出在对时间的解析上。分析后可知centos读取硬件时间后当成UTC时间,然后根据时区再转化为CST时间。

解决方法:

1.对于centos 6.x,可以修改/etc/sysconfig/clock文件,设置UTC=no
2.对于centos 7.x,可以执行timedatectl set-local-rct 1
3.如果是因为时区设置问题,可以ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime, 也可以执行tzselect。

知识扩展:

1.系统时间与硬件时间

  • 系统时间

    一般说来就是我们执行 date命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。

  • 硬件时间
    主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根据它来设定系统时间(注意:系统启动时根据硬件时间设定系统时间的过程可能存在时区换算,这要视具体的系统及相关设置而定)。

2. UTC时间与本地时间

  • UTC时间
    Universal Time Coordinated 世界协调时间,在一般精度要求下,它与GMT(Greenwich Mean Time,格林威治标准时间)是一样的,其实也就是说 GMT≈UTC,但 UTC 是以原子钟校准的,更精确。

  • 本地时间
    由于处在不同的时区,本地时间一般与UTC是不同的,换算方法就是本地时间 = UTC +时区 或 UTC = 本地时间 - 时区。 时区东为正,西为负,例如在中国,本地时间都使用北京时间,在linux上显示就是 CST(China Standard Time,中国标准时),时区为东八区,也就是 +8 区,所以CST=UTC+(+8小时) 或 UTC=CST-(+8小时)。

3.linux与windows双系统间的时间同步
系统启动和关闭时,硬件时间与系统时间之间的同步有如下两种方式:

  • 使用UTC
    开机: BIOS—>UTC(将BIOS中的时间看成是UTC)—>(根据时区转化)—>CST
    关机: CST—>(根据时区转化为)----->UTC---->BIOS(将UTC时间直接保存为BIOS中时间)

  • 不使用UTC
    开机: BIOS—>CST(将BIOS中的时间看成是CST)
    关机: CST—>BIOS(将CST时间直接保存到BIOS中)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值