【发布时间】:2016-07-30 03:31:05
【问题描述】:
这不起作用:
t = os.path.getmtime(filename)
dTime = datetime.datetime.fromtimestamp(t)
justTime = dTime.timetuple()
if justTime.tm_isdst == 0 :
tDelta = datetime.timedelta(hours=0)
else:
tDelta = datetime.timedelta(hours=1)
相反,条件总是等于 1,尽管某些时间戳在白天节省时间内。
我正在尝试使 python 调用与基于 c 的调用的行为相匹配。
【问题讨论】:
-
文件系统将日期/时间戳存储为自纪元以来的秒数,其中不包括任何时区或 DST 信息。仅当您将纪元时间转换为可显示格式时才会添加。您要匹配哪个基于 c 的调用?
-
如果我认为我(只是)必须定义一个时区并要求 pytz 对其进行本地化,从而允许 DST。
-
您应该能够只使用您当前的时区而不是添加一个。 DST 不会跨时区应用于同一日期或时间。
-
这是一个 cvi (NI) 调用 GetFileTime()。
-
GetFileTime() 我认为是一个win32 API,对吗?另请参阅timeanddate.com/time/dst/events.html。