首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >夏令时结束

夏令时结束
EN

Stack Overflow用户
提问于 2022-07-08 18:53:35
回答 1查看 126关注 0票数 0

我正在试图验证我对pythons时间(和夏令时)处理的理解是否正确。我编写了以下代码:

代码语言:javascript
复制
import datetime
import zoneinfo

def test_switchover() -> None:
    zone = zoneinfo.ZoneInfo('Europe/Berlin')
    
    expected = datetime.datetime(year=2022, month=10, day=30, hour=2, minute=30, fold=1, tzinfo=zone)

    base = datetime.datetime(year=2022, month=10, day=30, hour=2, minute=30, fold=0, tzinfo=zone)
    got = base + datetime.timedelta(hours=1)

    assert expected == got

(请注意,expected有fold=1,它将其标记为2:30的第二次出现)

德国的夏令时将于2022-10-30结束。时钟从中央时间03:00移回中央时间02:00。

我的代码中的所有日期时间对象都是时区感知的。因此,02:30以后的1小时应该是02:30。但是这个断言失败了!

代码语言:javascript
复制
>       assert expected == got
E       AssertionError: assert datetime.datetime(2022, 10, 30, 2, 30, fold=1, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin')) == datetime.datetime(2022, 10, 30, 3, 30, tzinfo=zoneinfo.ZoneInfo(key='Europe/Berlin'))

tests/test_python_dst_switchover.py:12: AssertionError

为什么?

(python 3.10)

EN

回答 1

Stack Overflow用户

发布于 2022-07-08 18:59:57

我想零钱是在午夜开始的,不是吗?

事实上,在法国,情况会在午夜发生变化,我认为,在大多数欧洲,情况应该是一样的,因此Python可能会认为这是整个欧洲的情况。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72915842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档