LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1991|回复: 9

[已解决]帮忙测试 Python 的 strftime 函数

[复制链接]
发表于 2009-2-9 21:29:17 | 显示全部楼层 |阅读模式
  1. vvoody@slackware:~$ python
  2. Python 2.5.2 (r252:60911, Sep 11 2008, 13:43:31)
  3. [GCC 4.2.4] on linux2
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>> from time import strftime, gmtime, localtime
  6. >>> strftime("%a, %d %b %Y %H:%M:%S", gmtime(1234567890))
  7. 'Fri, 13 Feb 2009 23:31:06'

  8. >>> strftime("%a, %d %b %Y %H:%M:%S", localtime(1234567890))
  9. 'Sat, 14 Feb 2009 07:31:30'

  10. >>> strftime("%a, %d %b %Y %H:%M:%S", gmtime(915148821))
  11. 'Thu, 31 Dec 1998 23:59:60'
复制代码


我的是 12.2, 同样平台的朋友帮忙贴一下你们的上面三个运行结果。应该 1234567890 是 23:31:30,我询问了很多人他们也都是正确的。而就我少了 24 秒。问题在于,1998 年那次的闰秒 strftime 加上了,而今年的似乎没有加上,如果加上至今的 24 秒那么秒就是正确结果了。
[color="Red"]
已解决,用 root 重新运行一下 timeconfig。
发表于 2009-2-10 12:49:36 | 显示全部楼层
  1. >>> from time import strftime, gmtime, localtime
  2. >>> strftime("%a, %d %b %Y %H:%M:%S", gmtime(1234567890))
  3. 'Fri, 13 Feb 2009 23:31:30'
  4. >>> strftime("%a, %d %b %Y %H:%M:%S", localtime(1234567890))
  5. 'Sat, 14 Feb 2009 07:31:30'
  6. >>> strftime("%a, %d %b %Y %H:%M:%S", gmtime(915148821))
  7. 'Fri, 01 Jan 1999 00:00:21'
复制代码
no problem, use the slackware current
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-10 18:56:00 | 显示全部楼层
晕啊,就我有问题诶。。。
回复 支持 反对

使用道具 举报

发表于 2009-2-10 22:08:48 | 显示全部楼层
  1. /usr/local/src/My_projects$ python
  2. Python 2.5.2 (r252:60911, Sep 11 2008, 13:43:31)
  3. [GCC 4.2.4] on linux2
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>> from time import strftime, gmtime, localtime
  6. >>> strftime("%a, %d %b %Y %H:%M:%S", gmtime(1234567890))
  7. 'Fri, 13 Feb 2009 23:31:30'
  8. >>> strftime("%a, %d %b %Y %H:%M:%S", localtime(1234567890))
  9. 'Sat, 14 Feb 2009 07:31:30'
  10. >>> strftime("%a, %d %b %Y %H:%M:%S", gmtime(915148821))
  11. 'Fri, 01 Jan 1999 00:00:21'
  12. >>>
复制代码

可能会是 gmtime 的原因,因为 strftime 貌似只是格式化输出,不进行转换。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-10 22:18:28 | 显示全部楼层
Post by grissiom;1946092

  1. /usr/local/src/My_projects$ python
  2. Python 2.5.2 (r252:60911, Sep 11 2008, 13:43:31)
  3. [GCC 4.2.4] on linux2
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>> from time import strftime, gmtime, localtime
  6. >>> strftime("%a, %d %b %Y %H:%M:%S", gmtime(1234567890))
  7. 'Fri, 13 Feb 2009 23:31:30'
  8. >>> strftime("%a, %d %b %Y %H:%M:%S", localtime(1234567890))
  9. 'Sat, 14 Feb 2009 07:31:30'
  10. >>> strftime("%a, %d %b %Y %H:%M:%S", gmtime(915148821))
  11. 'Fri, 01 Jan 1999 00:00:21'
  12. >>>
复制代码


可能会是 gmtime 的原因,因为 strftime 貌似只是格式化输出,不进行转换。


都是一样的包,为啥哦~真是诡异啊。
回复 支持 反对

使用道具 举报

发表于 2009-2-10 23:31:12 | 显示全部楼层
>>> strftime("%a, %d %b %Y %H:%M:%S", gmtime(1234567890))
'Fri, 13 Feb 2009 23:31:30'
>>> strftime("%a, %d %b %Y %H:%M:%S", localtime(1234567890))
'Sat, 14 Feb 2009 07:31:30'
>>> strftime("%a, %d %b %Y %H:%M:%S", gmtime(915148821))
'Fri, 01 Jan 1999 00:00:21'
回复 支持 反对

使用道具 举报

发表于 2009-2-11 15:05:41 | 显示全部楼层
Post by vvoody;1946098
都是一样的包,为啥哦~真是诡异啊。


是啊…… 如果重新安装一遍呢?……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-11 16:38:02 | 显示全部楼层
Post by grissiom;1946366
是啊…… 如果重新安装一遍呢?……


我 timeconfig 了一下就好了。。。
回复 支持 反对

使用道具 举报

发表于 2009-2-12 10:38:03 | 显示全部楼层
估计是时区选错了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-12 22:48:11 | 显示全部楼层
Post by slackcode;1946652
估计是时区选错了


问题在于 localtime 是正确的,而 gmtime 则不对。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表