小编nam*_*ere的帖子

测试 datetime.datetime 是否采用夏令时 .dst() 函数不返回 pytz 时区的值

我正在尝试测试任意本地化日期时间对象是否处于夏令时。

这与许多人已经问过的问题类似。例如。(Python 中的夏令时

在这些板中,测试日期时间是否采用 DST 的方法是使用内置函数 .dst()。这被包装成 bool ,如下所示:

if bool(mydatetimeobject.dst()):
    print ("date is DST!")
Run Code Online (Sandbox Code Playgroud)

但是,每当我创建任意日期时间并传递 tztimezone 时,.dst() 函数都不会报告任何内容。就好像没有设置时区一样!

检查此代码片段以查看问题:

>>> from datetime import datetime
>>> import pytz
>>> localtime = pytz.timezone('US/Central')

>>> mydate = datetime(2004,3,1)  # day in standard time
>>> localtime.localize(mydate)
datetime.datetime(2004, 3, 1, 0, 0, tzinfo=<DstTzInfo 'US/Central' CST-1 day, 18:00:00 STD>)
>>> mydate.dst()

>>> mydate = datetime(2004,5,1)  #day in daylight time
>>> localtime.localize(mydate)
datetime.datetime(2004, 5, 1, 0, 0, tzinfo=<DstTzInfo 'US/Central' CDT-1 day, 19:00:00 DST>)
>>> …
Run Code Online (Sandbox Code Playgroud)

python datetime pytz

7
推荐指数
1
解决办法
8747
查看次数

标签 统计

datetime ×1

python ×1

pytz ×1