【问题标题】:How does python know if daylight savings time is in effect?python如何知道夏令时是否有效?
【发布时间】:2018-12-12 02:38:05
【问题描述】:

由于一个时区中夏令时的起止时间每年都会发生变化,那么python如何判断夏令时是否生效呢?

【问题讨论】:

  • datetime 模块中,还是在pytz 或其他地方?
  • 是的,日期时间模块@roganjosh
  • 在模块的 top of the source code 处,它会评论 DST 数据的来源

标签: python timezone


【解决方案1】:

datetime 模块的CPython source code 的最顶部,它给出了数据的来源:

"""具体的日期/时间和相关类型。见 http://www.iana.org/time-zones/repository/tz-link.html 时区 和 DST 数据源。 """

这可能会随着时间的推移而变化。

【讨论】:

    【解决方案2】:

    实际上我的旧答案是错误的。在python shell中你可以这样做:

    >>> import time
    >>>time.localtime()
    here it will show a result
    >>> _.tm_isdst
    

    这个问题实际上是重复的,但旧帖子可以在这里找到: Python daylight savings time

    【讨论】:

    • 这不是我对这个问题的解释。您正在使用 time 模块向您报告该数字 - 它如何决定首先向您报告哪个数字?
    • 我认为您仍然没有抓住问题的重点。应该有一些 Python 可以用来确定这一点的数据源,我已经在我的回答中展示了它。
    • 好吧,我已经给出了答案。你说的是time 模块而不是datetime 模块。
    • 所以我很确定 Python 是使用计算机导入时间的,但我可能错了。
    • 我不确定我们要在这里讨论什么。如果您建议 Python 完全依赖于系统时间,那么这显然是不正确的,因为您可以在计算机所在位置以外的时区的日期时间中工作。我还提供了一个指向实际模块源代码的链接,它明确表示它使用外部数据源来存储 DST 数据
    猜你喜欢
    • 2023-03-18
    • 2014-10-27
    • 2012-05-26
    • 2011-05-12
    • 2013-12-23
    • 1970-01-01
    • 2012-08-06
    • 2018-12-23
    相关资源
    最近更新 更多