时区问题`GMT` CTS` UTC` ~
上一篇 / 下一篇 2007-11-11 19:00:59 / 个人分类:杂``~
GMT是国际新闻里经常出现的一个缩写,原来是Greenwich Mean Time,格林威治标准时。
Greenwich里的w不发音,n和i合在一起念成/ni/。严格说,这个字应该翻成「格林尼赤」。不过,现在格林威治已经成了固定的翻法了,基于约定俗成的原则就将错就错吧。
Greenwich是伦敦东南,泰晤士河南岸的一个地名。Mean是「两个极端的半道;平均」,'midway between two extremes;average',也就是中间的意思。Greenwich Mean Time,就是以格林威治这个地方为中心的时间。
十五世纪,新航路不断发现。在茫茫大海上,要找路除了靠观察星象、设定一些陆地、岛屿来定位以外,大家又想出了用经纬度的方法。一六七五年,英格兰国王查尔斯二世下令在格林威治设置一个天文台,靠星象找出各地的经度,精进航海术。
十九世纪,各国来往频繁了,但是各有各的时间。俄国、美国、英国这些疆域大的国家,都有各自的时区,相当混乱。有识之士为了解决这个问题,一八八四年在美国华盛顿特区召开了国际经线大会。与会的二十五国同意把本初子午线(Prime Meridian)放在伦敦的格林威治。所以,格林威治就是东西经零度的地方。同时规定,往东的精度用正的,往西的用负的。所以,东经是从零到一百八十,西经也是从零到一百八十度,两个一百八十度在太平洋交会,这也就是国际日期变更线。同一个时间,东经一百八十度假设是五日二十四时,西经一百八十度刚好少一天,是四日二十四时,也就是五日零时。
当初选定格林威治一方面是因为当时英国是海权大国,自然以格林威治为重了,另外一方面是,从格林威治往东西各走一百八十度,交会的地方在太平洋里,人烟稀少,对大家的生活影响不大。当时,要是把标准时定在纽约,往东西各一百八十度就到了西安了。国际日期变更线也就在西安。北京又在西安东方二十度,这样就会出现西安是五日二十四时,北京却是五日凌晨二时的奇怪现象,对大家的生活影响太大。
台北(中原标准时区)和格林威治时间差八个小时。格林威治时间零点就是台北时间早上八点。有了这个标准时,对做国际新闻的人来说就方便了。譬如伊拉克的时间是格林威治时间+3。伊拉克早上五点遭到美军轰炸,外电会写Baghdad was attacked by several missiles at 5(0200 GMT)。看到这句话,我们就知道巴格达是台北时间早上十点遭到攻击的。U.S.stock markets will close early at 1 p.m. (1700 GMT) on Thursday.一看就知道美国星期四的股市会提早在台北时间星期五凌晨一点收市。
全球24个时区的划分
相较于两地时间表,可以显示世界各时区时间和地名的世界时区表(World Time),就显得精密与复杂多了,通常世界时区表的表盘上会标示着全球24个时区的城市名称,但究竟这24个时区是如何产生的?过去世界各地原本各自订定当地时间,但随着交通和电讯的发达,各地交流日益频繁,不同的地方时间,造成许多困扰,于是在西元1884年的国际会议上制定了全球性的标准时,明定以英国伦敦格林威治这个地方为零度经线的起点(亦称为本初子午线),并以地球由西向东每24小时自转一周360°,订定每隔经度15°,时差1小时。而每15°的经线则称为该时区的中央经线,将全球划分为24个时区,其中包含23个整时区及180°经线左右两侧的2个半时区。就全球的时间来看,东经的时间比西经要早,也就是如果格林威治时间是中午12时,则中央经线15°E的时区为下午1时,中央经线30°E时区的时间为下午2时;反之,中央经线15°W的时区时间为上午11时,中央经线30°W时区的时间为上午10时。以台湾为例,台湾位于东经121°,换算后与格林威治就有8小时的时差。如果两人同时从格林威治的0°各往东、西方前进,当他们在经线180°时,就会相差24小时,所以经线180°被定为国际换日线,由西向东通过此线时日期要减去一日,反之,若由东向西则要增 加一日。
格林威治标准时间GMT
十七世纪,格林威治皇家天文台为了海上霸权的扩张计画而进行天体观测。1675年旧皇家观测所(Old Royal Observatory) 正式成立,到了1884年决定以通过格林威治的子午线作为划分地球东西两半球的经度零度。观测所门口墙上有一个标志24小时的时钟,显示当下的时间,对全球而言,这里所设定的时间是世界时间参考点,全球都以格林威治的时间作为标准来设定时间,这就是我们耳熟能详的「格林威治标准时间」(Greenwich Mean Time,简称G.M.T.)的由来,标示在手表上,则代表此表具有两地时间功能,也就是同时可以显示原居地和另一个国度的时间。
世界协调时间UTC 0 q% @4 A- E$ P2 U+ d' p
多数的两地时间表都以GMT来表示,但也有些两地时间表上看不到GMT字样,出现的反而是UTC这3个英文字母,究竟何谓UTC?事实上,UTC指的是Coordinated Universal Time- 世界协调时间(又称世界标准时间、世界统一时间),是经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以「秒」为单位的国际原子时所综合精算而成的时间,计算过程相当严谨精密,因此若以「世界标准时间」的角度来说,UTC比GMT来得更加精准。其误差值必须保持在0.9秒以内,若大于0.9秒则由位于巴黎的国际地球自转事务中央局发布闰秒,使UTC与地球自转周期一致。所以基本上UTC的本质强调的是比GMT更为精确的世界时间标准,不过对于现行表款来说,与UTC的功能与精确度是没有差别的。
夏日节约时间DST 7 \5 m; d$ c, [0 |; p
所谓「夏日节约时间」Daylight Saving Time(简称D.S.T.),是指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用,在英国则称为夏令时间(Summer - n7 S5 B6 a$ c* [6 R
Time)。这个构想于1784年由美国班杰明·富兰克林提出来,1915年德国成为第一个正式实施夏令日光节约时间的国家,以削减灯光照明和耗电开支。自此以后,全球以欧洲和北美为主的约70个国家都引用这个做法。目前被划分成两个时区的印度也正在商讨是否全国该统一实行夏令日光节约时间。欧洲手机上也有很多GSM系统的基地台,除了会传送当地时间外也包括夏令日光节约时间,做为手机的时间标准,使用者可以自行决定要开启或关闭。值得注意的是,某些国家有实施「夏日节约时间」的制度,出国时别忘了跟随当地习惯在表上调整一下,这可是机械表没有的功能设计哦!
UNIX/Linux 下de时区问题
在很多unix下用date命令都能看到当前的时区。很多unix下中国时区都是用CST表示的。但是这个表示方法非常不合理。因为CST同时代表了下面4个时区。
CST Central Standard Time (USA) UT-6:00
CST Central Standard Time (Australia) UT+9:30
CST China Standard Time UT+8:00
CST Cuba Standard Time UT-4:00
在unix下通过/etc/localtime这个硬连接指向的/usr/share/zoneinfo下的时区文件表示当前的真正时区。比如/etc/localtime指向了/usr/share/zoneinfo/Asia/Shanghai这个文件的时候,CST就代表了中国标准时间。
但是很多语言的时间函数库根本不做这个判断,往往就是用一个独立的时区配置文件做时区关键字和GMT的转换。因此很多系统里面CST都变成了GMT-6,也就是美国中部时间。
导入论坛 引用链接 收藏 分享给好友 推荐到圈子 管理 举报
TAG: