首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python调用的令人惊讶的时间转换

python调用的令人惊讶的时间转换
EN

Stack Overflow用户
提问于 2009-08-06 12:45:36
回答 2查看 256关注 0票数 0

我使用Python 2.5.1中的以下代码从日期的字符串表示形式生成UTC时间戳:

代码语言:javascript
复制
time.mktime(time.strptime("2009-06-16", "%Y-%m-%d")) 

一般的结果是: 1245103200 (16.6.20090:00UTC或15.6.0922:00:00,如果你在我的时区)。

但现在,我发现在一些运行Windows XP的计算机上,此语句会生成时移1小时1分1秒: 1245099539 (15.6.200922:58:59UTC或15.6.0920:58:59在我的时区)。

DST和时区似乎不是问题的原因,因为时移似乎出现在DST和时区计算之外。

有没有人经历过同样的行为,或者能够描述这里发生的事情?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-11 11:00:45

我自己找到了答案:

在python命令行界面上执行以下命令时,我得到了结果:

time.strptime("2009-06-16","%Y-%m-%d")

time.struct_time(tm_year=2009,tm_mon=6,tm_mday=16,tm_hour=0,tm_min=0,tm_sec=0,tm_wday=1,tm_yday=167,tm_isdst=-1)

如果我在使用py2exe构建的可执行文件中运行相同的命令,它会导致以下时间结构:

小时(tm_year=2009,tm_mon=8,tm_mday=11,tm_time.struct_time=-1,tm_min=-1,tm_time.struct_time=-1,tm_wday=1,tm_yday=224,tm_isdst=-1)

内部时间结构在命令行和使用py2exe时的初始化明显不同。已通过向命令添加午夜时间修复此问题。

票数 1
EN

Stack Overflow用户

发布于 2009-08-06 13:16:32

您运行的是什么版本的Python?这里有两个bug描述,听起来与您正在经历的非常相似:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1238648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档