夏令制(Daylight Saving Time, DST),如果想知道当前的时间是否是夏令时,可以借助于time模块的localtime函数来完成。先看下localtime()里面的具体项:
>>> time.localtime()
time.struct_time(tm_year=2018, tm_mon=7, tm_mday=28, tm_hour=17, tm_min=16, tm_sec=8, tm_wday=5, tm_yday=209, tm_isdst=0)
tm_year=2018 # 年
tm_mon=7 # 月
tm_mday=28 # 日
tm_hour=17 # 时
tm_min=16 # 分
tm_sec=8 # 秒
tm_wday=5 # 0-6;0:周一 5:周六
tm_yday=209 # 一自然年第209天
tm_isdst=0 # 是否夏令制;0:否 1:是
所以要判断当前时间是否运行的是夏令制就很简单了。
>>> import time
>>> def is_dst():
... return bool(time.localtime().tm_isdst)
...
>>> is_dst()
False
>>>