CST时区问题

CST时区问题[z]

转自:http://liudaoru.javaeye.com/blog/136939 关键词CST    timezone    时区   【作者: thinkernel】                                       

老问题了,几年前做gnats的移植的时候曾经碰到过这个问题,没想到现在还能碰到这个问题。 在很多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,也就是美国中部时间。 在zope里面也是如此。而且很奇怪的是有的地方做了正确的判断,有的地方没做正确判断。 比如文件的最后修改时间就是错的,但是如果对一个页面做comment的时候,comment时间就是正确的。 修改Zope中DateTime/DateTime.py的定义为:'cst':'GMT+8',就能够解决这个问题。 但是这样做就需要改代码,然后重新编译。 我试着在zope的启动脚本里面加上TZ的环境变量设置,但是没有效果。我想,最根本的解决方法应该是改变unix服务器的时区设置方法吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值