django一个匪夷所思的bug: 消失的时间?
2012-06-06 10:26
176 查看
今天同事告知, 在django中datetime.fromtimestamp(0)的时候, 竟然转成了 (1970,1,1,7,0)! 而不是(1970,1,1,8,0).
经测试发现:
1. 在开发机上正常, 在生产机上才有这个问题
2. python shell 中正常, manage.py shell 中出现问题
怀疑django初始化时候对datetime动过手脚, 搜了一遍代码也没看出个所以然来. 测着测着, 突然发现, 执行
正常! 尝试了一系列不同的时间戳, 找到了一个G点
中间这一个小时哪去了? 回头看, python shell中的数据正常.
估计time模块中的time.localtime也有这样的问题, 试验一下
嗯, 果然. 但是这消失的时间哪去了?
再试验一下time.mktime转下这时间
Overflow! 我勒个擦.......
现在只能估计是 django 与 环境之间的冲突, 但还不能完全定位bug.
暂时要求大家使用utcfromtimestamp再加8自己转了.
========================================
后补:
找到一个http://stackoverflow.com/questions/6841333/why-is-subtracting-these-two-times-in-1927-giving-a-strange-result
里面描述了正好在某个时间点处时区有更改导致1小时之差的问题.
我擦django还有这么nb的功能, 赶紧google进行脑补, 我们设置的TIME_ZONE为 Asia/chongqing
最后发现
时间吻合, 眼泪哗哗的啊.....
想看时区状况, 可去 http://www.timeanddate.com/
经测试发现:
1. 在开发机上正常, 在生产机上才有这个问题
2. python shell 中正常, manage.py shell 中出现问题
怀疑django初始化时候对datetime动过手脚, 搜了一遍代码也没看出个所以然来. 测着测着, 突然发现, 执行
datetime.datetime.fromtimestamp(time.time())
正常! 尝试了一系列不同的时间戳, 找到了一个G点
中间这一个小时哪去了? 回头看, python shell中的数据正常.
估计time模块中的time.localtime也有这样的问题, 试验一下
嗯, 果然. 但是这消失的时间哪去了?
再试验一下time.mktime转下这时间
Overflow! 我勒个擦.......
现在只能估计是 django 与 环境之间的冲突, 但还不能完全定位bug.
暂时要求大家使用utcfromtimestamp再加8自己转了.
========================================
后补:
找到一个http://stackoverflow.com/questions/6841333/why-is-subtracting-these-two-times-in-1927-giving-a-strange-result
里面描述了正好在某个时间点处时区有更改导致1小时之差的问题.
我擦django还有这么nb的功能, 赶紧google进行脑补, 我们设置的TIME_ZONE为 Asia/chongqing
最后发现
时间吻合, 眼泪哗哗的啊.....
想看时区状况, 可去 http://www.timeanddate.com/
相关文章推荐
- 发现hao123主页上面的时间有一个bug
- Django model default=datetime.datetime.now() & get_or_create 一个BUG?!
- java 时间函数中的一个bug?
- js时间转换的一个隐藏的bug
- 51Testing站点的一个时间bug和一个数据不一致bug
- js最大时间间隔为一个月的处理以及parseInt(08)和parseInt(09)的一个bug
- python日志轮转RotatingFileHandler在django中的一个bug
- 利用空余时间在完成一个Outlook框架控件,还有些Bug,完善中
- JS控制一个DIV层在指定时间内消失的方法
- JavaScript增加一个随机颜色的div,并在一定时间后div自动消失
- mybatis 3.3.0的一个bug 时间与字符串
- Jmail的一个bug - 接收邮件时邮件的发送时间不对问题
- 利用空余时间在完成一个Outlook框架控件,还有些Bug,完善中
- binbinyang---今天有时间,我要记录昨天的一个小BUG...
- 我用4年时间解决了Python GIL的一个bug...
- JS控制一个DIV层在指定时间内消失的方法
- 花了5天时间,终于解决了一个bug,心情非常愉快,憋了这么久,不吐不快
- 花了一天时间,发现一个隐藏巨深的BUG
- 一个由Django的save方法引发的bug
- 前端动画的bug:hover一个li,左滑进背景图,li上文字消失太快(或者说出现闪现消失)