【发布时间】:2011-01-11 09:17:52
【问题描述】:
似乎有点奇怪,当我想用 pytz 获得欧洲/巴黎的时区时,它让我进入 PMT 时区而不是 GMT+1,而它似乎适用于欧洲/柏林。
不清楚?看看这个 sn-p :
#!/usr/bin/python
import os
import datetime
from pytz.tzfile import build_tzinfo
base='/usr/share/zoneinfo/'
tz = build_tzinfo('Europe/Paris',
open(os.path.join(base,'Europe','Paris'), 'rb'))
fmt = '%Y-%m-%d %H:%M:%S %Z%z'
print datetime.datetime(2009, 01, 30, 9, 00, tzinfo=tz).strftime(fmt)
tz = build_tzinfo('Europe/Berlin',
open(os.path.join(base,'Europe','Berlin'), 'rb'))
print datetime.datetime(2009, 01, 30, 9, 00, tzinfo=tz).strftime(fmt)
输出是:
2009-01-30 09:00:00 PMT+0009
2009-01-30 09:00:00 CET+0100
真正的巴黎也应该是 CET+1。
从 datetime.datetime.now(tz) 构造无论如何都会得到正确的结果。
有人有想法吗?
【问题讨论】:
-
@bain 可能反过来 :)