jma*_*gue 6 python timezone datetime pytz
我可能错过了一些关于时区的事情:
>>> import datetime, pytz
>>> date = datetime.datetime(2013,9,3,16,0, tzinfo=pytz.timezone("Europe/Paris"))
>>> date.astimezone(pytz.UTC)
datetime.datetime(2013, 9, 3, 15, 51, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)
我在期待
datetime.datetime(2013, 9, 3, 15, 00, tzinfo=<UTC>)
Run Code Online (Sandbox Code Playgroud)
任何人都能解释一下这51分钟的来历吗?
谢谢,
让 - 菲利普
UTC偏移给出(date.tzinfo.utcoffset(date)):
datetime.timedelta(0, 540)
Run Code Online (Sandbox Code Playgroud)
这是540秒或9分钟.
在法国,转换到UTC是在1911年3月11日,时钟被转回9分21秒(源1,源2):
直到1911年,巴黎距离UTC还有9分21秒.
你也可以在这里看到它(1911年的巴黎时间),时间从3月11日12:01:00到3月10日11:51:39 PM.
阅读pytz文档开头的注释; 使用.localize()方法创建可识别时区的datetime对象:
import datetime
import pytz
naive_dt = datetime.datetime(2013,9,3,16,0)
dt = pytz.timezone("Europe/Paris").localize(naive_dt, is_dst=None)
to_s = lambda d: d.strftime('%Y-%m-%d %H:%M:%S %Z%z')
print(to_s(dt))
print(to_s(dt.astimezone(pytz.utc)))
Run Code Online (Sandbox Code Playgroud)
2013-09-03 16:00:00 CEST+0200
2013-09-03 14:00:00 UTC+0000
Run Code Online (Sandbox Code Playgroud)
我不知道你为什么要在15:00 UTC这里。
| 归档时间: |
|
| 查看次数: |
3680 次 |
| 最近记录: |