在python中如何检查给定时间是否在夏令时期间?

时间:2016-09-21 08:09:24

标签: python-3.x

我需要帮助解决这个问题用Python 3.我需要知道给定的日期,例如2017 06 02,是否在夏令时期间。

我在这里和谷歌上寻找答案。但我发现基本上只用当前日期来解决这个问题。根据我的需要修改这些示例对我来说太难了:/不幸的是,我对Python的效率还不高。

完美的解决方案只是将错误视为答案。然后我就可以继续我的逻辑了。

编辑: 正如我所说,我在这里找到了解决方案。但他们都在用当前时间解决这个问题。我需要知道来自未来或过去的某个日期是否在夏令时期间。问题是我是一名大三学生并修改我发现我需要的那些例子对我来说太难了。

2 个答案:

答案 0 :(得分:2)

好吧,我想我自己设法做到了这一点。首先我写了这个函数:

import time

def is_dst(date):
    return bool(time.localtime(date).tm_isdst)

接下来我得到了这样的真或假:

is_dst(time.mktime(MyDateObject.timetuple())))

我确信这不是最好的解决方案,因为我是一个完整的Python noob,但它对我有用。所以从现在开始,我可以继续我的逻辑。

答案 1 :(得分:1)

import time # imports the time module
time.localtime().tm_isdst # localtime() returns a tuple

当DST无效时,值为0.

当DST生效时,值为1。

当DST未知时,值为-1。