前言
众所周知中国目前有6个时区
Asia/Chongqing
Asia/Shanghai
Asia/Urumqi
Asia/Macao
Asia/Hong_Kong
Asia/Taipei
在软件开发过程中,开发者经常需要把时区调整为中国时区 Asia/Shanghai
Asia/Chongqing
等
我们口中常说的北京时间,却唯独没有列在其中,我想很多开发者和我一样有此困惑
在此之前,有国内开发者向 Ubuntu
提交了一个Bug:no Asia/BeiJing option in TimeZone
Ubuntu
则认为:首先这个问题不归他。其次维护这个将会是易错的,而且容易与其他软件不兼容。
无独有偶,也有开发者向 Sun
公司提出 JDK-4141080 : The Time Zone id name for PRC is wrong
为什么会这样?
引用程序员经常对测试员说的一句话 “这可能是个历史遗留问题” 来解释这个事情
我们先来看看历史
1902年(清光绪二十八年),清朝海关曾制定海岸时,以东经120度之时刻为标准。
1912年中华民国建立后,位于北京的中央观象台将全国分为五个时区。
1939年3月9日,中华民国内政部召集标准时间会议,确认1912年划分之时区为中国标准时区,分别为:
- 昆仑时区 GMT+5.5 新疆西部与部分西藏
- 新藏时区 GMT+6 新疆及西藏
- 陇蜀时区 GMT+7 中国中部
- 中原标准时区 GMT+8 中国海岸
- 长白时区 GMT+8.5 中国东北
1949年10月1日,中华人民共和国成立,UTC+8
时区正式命名为“北京时间”(与原中原标准时间相同)
那为什么没有新增 Asia/Beijing
时区?从国际标准本身的角度来看,北京和上海处于同一时区,只能保留一个。
这大概就是为什么没有 Asia/Beijing
北京时区的原因 ~