使用python判断时间戳是否处于夏令时

2024-04-07

这不起作用:

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):

import os
import time

timestamp = os.path.getmtime(filename)
isdst = time.localtime(timestamp).tm_isdst > 0

可能会失败 https://stackoverflow.com/a/23139184/4279。要解决这些问题,您可以使用以下命令获得对 tz 数据库的可移植访问pytz module:

from datetime import datetime
import tzlocal  # $ pip install tzlocal

local_timezone = tzlocal.get_localzone() # get pytz tzinfo
isdst = bool(datetime.fromtimestamp(timestamp, local_timezone).dst())

有关的:使用Python查明某个时区当前是否处于夏令时 https://stackoverflow.com/a/19968515/4279.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用python判断时间戳是否处于夏令时 的相关文章

随机推荐