为什么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一行,只是其中的数字代表城市的经纬度,这个要修改正确。
然后再登录进来就能在选时区的地方看到自己的城市了。
安装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一行,只是其中的数字代表城市的经纬度,这个要修改正确。
然后再登录进来就能在选时区的地方看到自己的城市了。
相关文章推荐
- 设置linux系统时间为北京时间
- Linux touch 命令 - 为什么我们需要改变时间戳?
- 如何调整linux的时间为北京时间、修改linux vps的时间和时区
- Linux/Ubuntu 下编译安装Qt(和减少Qt编译时间)
- 如何修改Linux系统时间 ubuntu
- 64位ubuntu:arm-linux-gcc –v 提示找不到该文件或目录
- [转]最新三大流行Linux(Ubuntu、红旗Linux、Fedora等)最新官网下载地址(更新时间:2010年9月22日)
- 为什么unix/linux/ubuntu比windows高级(国外专家解答)
- Windows与Linux(Ubuntu)双系统时间不一致的解决方法
- ubuntu交叉编译 arm-linux-命令找不到
- 为什么unix/linux/ubuntu比windows高级(国外专家解答)
- 如何修改Linux系统时间 ubuntu
- Ubuntu下H3C iNode for Linux找不到网卡的另类解决方法
- linux(ubuntu)下获取 ms 毫秒级别 时间
- 为什么unix/linux/ubuntu比windows高级(国外专家解答) .
- Linux(CentOS6.5)修改系统市区被中国标准时间(北京时间)
- Ubuntu下H3C iNode for Linux找不到网卡的另类解决方法
- Linux/Ubuntu 下编译安装Qt(和减少Qt编译时间)
- arm-linux-gcc配置好环境变量为什么还显示找不到目录