我有工作密码。我的问题是为什么要这样做?
#"04/13/05 2:30pm EDT" <- original date string
from datetime import datetime, timedelta
from pytz import timezone
import pytz
import time
T= time.struct_time((2005,4,13,14,30,0,0,0,1))
t = time.mktime(T)
print(t)这个指纹
1113417000, 根据在线转换器,http://www.epochconverter.com/,打印
Your time zone: 4/13/2005 2:30:00 PM GMT-4这是正确的。我的问题是,它怎么知道时间是在东部时间是GMT-4?最后一个9元组是"dst标志“,但是使用DST的时区很多。那么它如何检测出正确的时区呢?
发布于 2013-01-22 20:49:59
它通过stdlib C时间函数向操作系统询问这些信息。
引用模块文档
本模块中定义的大多数函数调用具有相同名称的platform C库函数。有时查阅平台文档可能会有所帮助,因为这些功能的语义因平台而异。
您可以将DST标志传入a -1以使库为您设置它,请参阅time.struct_time。在我的MacOSX10.7.5设置上,配置为欧洲/奥斯陆时区,这给我提供了如下信息:
>>> import time
>>> time.mktime((2005,4,13,14,30,0,0,0,-1))
1113395400.0或者,正如时代转换器“翻译”的那样:
Your time zone: 4/13/2005 2:30:00 PM GMT+2发布于 2016-12-28 12:11:10
根据文档,函数time.mktime(t)采用的是以本地时间表示的参数(struct_time),而不是UTC。本地时间是从您的操作系统中提取的。您可以看到本地DST时区,例如,time.tzname
https://stackoverflow.com/questions/14467697
复制相似问题