gpt4 book ai didi

python - 奇怪的 python time.strftime() 时区显示

转载 作者:太空宇宙 更新时间:2023-11-03 19:04:26 24 4
gpt4 key购买 nike

大约是“2013-02-27 11:02”(GMT),并且由于我在法国,所以我的本地时间大约是“2013-02-27 12:02 +0100”。我在我的机器上执行了以下命令:

Python 2.6.8 (unknown, Apr 14 2012, 04:15:37) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import time
>>> datefmt = '%Y-%m-%d %H:%M:%S %Z'
>>> paris_time = (time.gmtime(), time.localtime())
>>> paris_time[0]
time.struct_time(tm_year=2013, tm_mon=2, tm_mday=27, tm_hour=11, tm_min=2, tm_sec=2, tm_wday=2, tm_yday=58, tm_isdst=0)
>>> paris_time[1]
time.struct_time(tm_year=2013, tm_mon=2, tm_mday=27, tm_hour=12, tm_min=2, tm_sec=2, tm_wday=2, tm_yday=58, tm_isdst=0)
>>> time.strftime(datefmt, paris_time[0]), time.strftime(datefmt, paris_time[1])
('2013-02-27 11:02:02 CET', '2013-02-27 12:02:02 CET')
>>>

然后我将机器时区更改为“纽约”并重播最后的命令:

>>> paris_time[0]
time.struct_time(tm_year=2013, tm_mon=2, tm_mday=27, tm_hour=11, tm_min=2, tm_sec=2, tm_wday=2, tm_yday=58, tm_isdst=0)
>>> paris_time[1]
time.struct_time(tm_year=2013, tm_mon=2, tm_mday=27, tm_hour=12, tm_min=2, tm_sec=2, tm_wday=2, tm_yday=58, tm_isdst=0)
>>> time.strftime(datefmt, paris_time[0]), time.strftime(datefmt, paris_time[1])
('2013-02-27 11:02:02 EST', '2013-02-27 12:02:02 EST')
>>>

仅供引用:CET 是 +0100 的代码,EST 是 -0500 的代码。

python time.strftime(format[, t])文档在表中指出:

%Z Time zone name (no characters if no time zone exists).

“不存在时区”是什么意思? struct_time 对象 中的时区(编辑:我最初在问题中写了“strftime 对象”)或系统中的时区?根据我的测试,我没有在对象 paris_time[x] 中设置时区,但显示了一个时区。那么,我在这里缺少什么?

最佳答案

Python 日期例程 (1) 困惑不堪,(2) 系统调用的薄包装。

在我的 (linux) 机器上,man strftime 显示有关 python 例程可能包装的系统调用 strftime 的信息。那里说使用的是 TZ 系统。可以使用 tzset 进行修改.

至于“不存在时区” - 我想这意味着系统 TZ 未设置。

(我不知道这如何影响到 Windows。)

关于python - 奇怪的 python time.strftime() 时区显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15110583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com