提问人:Lirit 提问时间:10/29/2023 最后编辑:FObersteinerLirit 更新时间:10/29/2023 访问量:33
由于冬季时间更改 pytz 导致时区转换失败
Timezone conversion failed due to winter hour change pytz
问:
在我的代码中,我尝试将日期转换为 pytz 时区,但由于凌晨 3 点更改为冬季时间,我的代码崩溃了。我有两个问题:第一,为什么更改时间会导致时区转换崩溃?二、如何避免这个bug? 这是我的代码:
purchase_date = make_aware(
datetime.strptime(
sale.findtext('n:purchasedate', namespaces={'n': ns}),
'%d/%m/%Y-%H:%M'
),
timezone('Europe/Paris')
)
返回错误:
Traceback (most recent call last):
File "/app/manage.py", line 15, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.11/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.11/site-packages/django/core/management/__init__.py", line 436, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.11/site-packages/django/core/management/base.py", line 412, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.11/site-packages/django/core/management/base.py", line 458, in execute
output = self.handle(*args, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
purchase_date = make_aware(
^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/django/utils/timezone.py", line 287, in make_aware
return timezone.localize(value, is_dst=is_dst)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pytz/tzinfo.py", line 366, in localize
raise AmbiguousTimeError(dt)
pytz.exceptions.AmbiguousTimeError: 2023-10-29 02:08:00
知道我的代码是在凌晨 3:02 执行的,而时间的变化发生在凌晨 3:00。
提前感谢您的任何回复!
答: 暂无答案
评论
localize