0%

linux-china-timezone

简写

  • PRC - People's Republic of China 中华人民共和国
  • UTC - Coordinated Universal Time 协调世界时.相对GMT更加科学和准确,以原子时为基础.
  • CST - China Standard Time 中国标准时(UTC+08:00)
  • GMT - Greenwich Mean Time 格林尼治标准时间,是指格林尼治天文台的时间(0经度,本初子午线的标界处),受地球自转影响.

中国时区相关事件

1918年,北洋政府的中央天文台首次提案中国的时区划分,该提案将中国划分为5个时区

  • 昆仑-Kunlun(UTC+05:30)
  • 新藏-Sinkiang-Tibet(UTC+06:00)
  • 陇蜀-Kansu-Szechwan(UTC+07:00)
  • 中原-Chungyuan(UTC+08:00)
  • 长白-Changpai(UTC+08:30)

1939年国民政府召开标准时会议,批准5个时区的划分方案,但是战争原因,同时决定全国暂用陇蜀为准

1949年新中国成立后统一以北京时间为准UTC+08:00

注: 中国幅员辽阔,按国际通行标准是跨东五-九共计5个时区

IANA时区数据库

Shanghai代替Beijing的给出的原因是Shanghai比Beijing拥有更多的人口. 这也是为什么没有Asia/Beijing

在IANA时区数据库中,中国包括以下的时区(UTC+08:00)

  • Asia/Shanghai
  • Asia/Urumqi
  • Asia/Hong_Kong
  • Asia/Macau

为了历史兼容,以下时区保留

  • Asia/Harbin
  • Asia/Chongqing
  • Asia/Kashgar

Linux中配置

1
2
3
4
5
root@VM-0-11-ubuntu /usr/share/zoneinfo #ls -l Asia/ | grep PRC
lrwxrwxrwx 1 root root 6 Sep 20 2019 Chongqing -> ../PRC
lrwxrwxrwx 1 root root 6 Sep 20 2019 Chungking -> ../PRC
lrwxrwxrwx 1 root root 6 Sep 20 2019 Harbin -> ../PRC
lrwxrwxrwx 1 root root 6 Sep 20 2019 Shanghai -> ../PRC

从上面可以看出Asia/Chongqing Asia/Chungking Asia/Harbin Asia/Shanghai 都指向的PRC文件

1
2
root@VM-0-11-ubuntu /usr/share/zoneinfo #zdump PRC
PRC Tue Apr 7 14:32:11 2020 CST

梳理此篇原因

  • 朋友一PC被困扰好久,时区配置正确为什么时间一直不对? 其实zdump命令能好定位此原因 zdump - timezone dumper

时区文件'名字'和对应的时区有误, 根本原因其自行回溯操作

  • 为什么没有Asia/Beijing

参考

Historical_time_zones_of_China
Time in China