您的位置:首页 > 运维架构 > Linux

为什么Linux/Ubuntu中找不到北京时间

2013-04-29 09:57 330 查看
2009年02月20日。 cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。

安装Linux的时候要选时区,在下拉列表中就会发现,里面没有北京,却有上海和重庆,还有乌鲁木齐。为什么呢?这个问题一直没有得到解答。日前有空,上网搜了一番,基本有了答案。

电脑里用时区这个东西,历史并不长,按Wikipedia的说法,最早应该是在1986年,一位叫做Arthur David Olson的人整理了这个时区数据库。时区定义为1970年以来使用同一时间的国家或国家下面的地区。目前它的编辑和维护者叫Paul Eggert。这个项目每年发布数次,包括程序代码,用于编译使用这个数据库,还有数据本身。这些数据极其代码,全部放在公共领域,也就是任何人不占有其版权,任何人可将它用于任何目的。

这些数据在GNU c里面,在各种Linux/Unix系统里面都用得到,比如Debian GNU/Linux系统上就放在/usr/share/zoneinfo下面,但这里的数据都是编译过的二进制数据,看不出什么来。但网上也可以浏览这些时区,比如Wikipedia提供的时区列表,还有PHP这个编程语言也提供

从中就可以看出,代表中国的共有5个城市,分别是哈尔滨、上海、重庆、乌鲁木齐和喀什。这是为什么呢?

继续看Wikipedia,原来在1949年以前,天朝一共有5个时区,分别以这5个城市为代表,分别是:长白时区GMT+8:30、中原标准时区GMT+8、陇蜀时区GMT+7、新藏时区GMT+6和昆仑时区GMT+5:30。这是1912年北京观象台制订,并在后来由内政部批准过的。

天朝还是挺大的。但实际上跑到拉萨去似乎也感觉不到有什么不妥,也许是大家自然而然地起晚了?反正没有什么感觉。但据说电信服务设定优惠时段到西部就要顺延2个小时。

还有一次,记得是老虎庙老师的blog上曾经发表过他在北京同西安之间进行视频通话的照片对比,北京天已经黑了,西安还很亮。

中原地界很大,但真考查起城市来,确实上海名气更大,尤其是在国际上更是如此。之后全国采用+8的时间,也自然是上海了,其他4个城市仍然保留,也算是很有历史意义。据说也有人大代表提议多划时区。

对于自己的城市不在列表中这个大问题,许多人都有异议,但既然这些数据都是公开的,也就可以打造自己的时区列表,把自己的城市也加上就是了。LinuxJournal这篇文章就讲了怎么把自己的城市加入时区列表的做法

到/usr/share/zoneinfo或/usr/lib/zoneinfo目录下,将Asia/Shanghai拷贝为Asia/Beijing,因为时区是一样的,数据也就用一样的。

编辑zone.tab文件,还是找到刚才copy的城市再copy一行,只是其中的数字代表城市的经纬度,这个要修改正确。

然后再登录进来就能在选时区的地方看到自己的城市了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: