小编Nic*_*sen的帖子

Python 日期时间 + pytz 问题

我正在通过 strptime 创建一个日期时间对象,通过 pytz 在“欧洲/马德里”时区设置为“2016-01-02 03:04:05”。然后我将其转换为UTC。

为什么要增加 15 分钟而不是减少 1 小时?

>>> import datetime
>>> import pytz
>>> d = datetime.datetime.strptime('2016-01-02 03:04:05', '%Y-%m-%d %H:%M:%S')
>>> d
datetime.datetime(2016, 1, 2, 3, 4, 5)
>>> d = d.replace(tzinfo=pytz.timezone('Europe/Madrid'))
>>> d
datetime.datetime(2016, 1, 2, 3, 4, 5, tzinfo=<DstTzInfo 'Europe/Madrid' LMT-1 day, 23:45:00 STD>)
>>> d.astimezone(pytz.utc)
datetime.datetime(2016, 1, 2, 3, 19, 5, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)

如果我使用“CET”而不是“Europe/Madrid”,它可以正常工作:

>>> d = d.replace(tzinfo=pytz.timezone('CET'))
>>> d
datetime.datetime(2016, 1, 2, 3, 4, 5, tzinfo=<DstTzInfo 'CET' CET+1:00:00 STD>)
>>> d.astimezone(pytz.utc)
datetime.datetime(2016, 1, …
Run Code Online (Sandbox Code Playgroud)

python datetime pytz

5
推荐指数
1
解决办法
596
查看次数

标签 统计

datetime ×1

python ×1

pytz ×1