什么是时区
时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1863年,首次使用时区的概念。时区通过设立一个区域的标准时间部分地解决了这个问题。
世界各个国家位于地球不同位置上,因此不同国家,特别是东西跨度大的国家日出、日落时间必定有所偏差。这些偏差就是所谓的时差。
——引用自时区 - 维基百科,自由的百科全书
时区列表
常见时区
- UTC: Universal Time Coordinated
- CST: 该词有多种释义,其中于我们而言最常用的是释义是 China Standard Time
- China Standard Time: UTC+8:00
- Central Standard Time (USA): UTC-6:00
- Central Standard Time (Australia): UTC+9:30
- Cuba Standard Time: UTC-4:00
- Chungyuan Standard Time: UTC+8:00
- EDT: North American Eastern Time Zone: UTC−04:00
-
GMT: Greenwich Mean Time: ~UTC
目前,“格林尼治标准时间”(GMT)一词在民用领域常常被认为与 UTC 相同,不过它在航海领域仍旧指 UT1。详情参见 格林尼治标准时间 - 维基百科,自由的百科全书
此外,还有一个经常见到的缩写 RTC,它不是时区,它指的是实时时钟(Real-time clock):
实时时钟(Real-time clock,RTC)是指可以像时钟一样输出实际时间的电子设备,一般会是集成电路,因此也称为时钟芯片。此名词常用来表示在个人计算机、服务器或嵌入式系统中有此机能的设备,不过许多需要精确时的系统都会有此功能。
——引用自实时时钟 - 维基百科,自由的百科全书
即硬件时间,正常情况下和操作系统的时间是一致的,如果不一致,在 Linux 中可以使用hwclock
命令的-s
和-w
参数同步:
1
2
3
# hwclock --help | grep -E '^[ ]+(-s|-w)'
-s, --hctosys set the system time from the hardware clock
-w, --systohc set the hardware clock from the current system time
如何修改时区
Linux
(温馨提示:修改时区需要使用 root 用户(或者在命令前加sudo
))
1
2
3
timedatectl status
timedatectl list-timezones
timedatectl set-timezone Asia/Shanghai
或者:
1
2
3
4
ls -l /etc/localtime
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
详情参见: How To Set or Change Timezone on CentOS 7 | Linuxize
Windows
链接
下面总结了本文中使用的所有链接: