很久以来,我一直以为UTC=false会让影响系统get_time之类的函数返回本地时间......
最近才发现发现.....
UTC=false我所知道的作用目前只有一个——让bios里的时间和系统时间没有时区差距
导致获取utc时间与获取localtime不同的是ZONE="Asia/Shanghai"....
UTC时间一般不会造成什么大问题....问题就处在转换成Unix time这上面
因为大部分语言(包括mysql)的获取Unix time的函数都比较完善, 转换
Unix time的函数也自动处理了utc时间差,所以平时没出过什么问题,导致一直没搞清楚utc时间的影响
但是用了erlang这样没有获取Unix time的函数的语言就蛋痛了
因为不知道——
Unix time本身就是基于utc时间的,导致在erlang里自己写的计算Unixt time的函数里,
起始时间用了'1970-01-01 00:00:00'。这是错误的!!!
啥都不说来个代码大家就明白了
-
>>> import time
-
>>> import datetime
-
>>> print datetime.datetime.fromtimestamp(0)
-
1970-01-01 08:00:00
看到的人引以为戒咯。
阅读(3485) | 评论(0) | 转发(0) |