时区(time zone)
时间 =时间值+所在时区
格林威治时间(GMT) 代表0时区
UTC 国际标准
例如:北京时间晚上8点 ,表示为20:00 CST
则国际标准表示为:12:00 UTC
EDT 美国东部夏令时间
比北京时间晚12小时(相差12小时)
如:00:30 EDT
则北京时间为:12:30 CST
如何查看Linux Time zone
可查看到大部分国家的时间存放
使用zdump命令可以在命令行上显示指定的每个区域名称的当前时间
zdump + 城市 查看城市所在时区及当前时间
如何修改系统时区
/etc/localtime 定义了local time zone
1、修改 /etc/localtime 文件,在/usr/share/zoneinfo/找到想修改的相应的时区,拷贝到/etc/localtime 文件(也可以使用软链接)
2、设置TZ环境变量的值
tzselect
点击此处参考
real time clock 和 system clock
硬件时间时钟(RTC)
硬件时钟是指在主板上的特殊电路,因为他的存在,关机之后时间才得以继续计算
也是操作系统内核用来计算时间的时钟,从1970-1-1 00:00:00 开始算起
系统时钟(system time)
用date 查看系统时间
hwlock --show 查看机器上的硬件时间
硬件时间是基于本地时区的;
硬件时间和系统时间都会在系统上计算,久而久之,就会形成差距,那么该如何同步他们的时间呢?
方向:
1、把硬件时间同步为系统时间;
hwclock --hctosys
2、把系统时间同步为硬件时间
hwclock --systohc
如果想设置硬件时间,可以在BIOS设置
hwclock --set --date="mm/dd/yyyy hh:mm:ss"
修改系统时间
date --set "dd/mm/yyyy hh:mm:ss"
系统时间和硬件时间与网络时间都不同步
设置NTP server 实现系统时间与网络时间的同步
利用chrony搭建时间同步服务器



