我写一些Python(Python的2.7.4(默认情况下,2013年4月6日,19时54分46秒)[MSC v.1500 32位(英特尔)]在Win32,Windows 7中),代码需要处理的时区。 为此,我现在用的是pytz库(2012d版),这是在安全端我使用的easy_install刚刚更新。
我特别需要表达倍在成都,四川省,中国。 这是在“亚洲/重庆”时区应该是+07:提前实现“欧洲/伦敦”(这是我的本地时区)的00小时
出于某种原因,当我创建的偏移应用的“亚洲/ Chonqing”区一个datetime.datetime是+07:06不是+07:00我所期望的。 但是,当我在另一个区域中创建一个datetime.datetime(纽约,说了)它的工作原理确定。
我相信,该pytz数据库的准确性,以便我究竟做错了什么? 我会很感激的任何建议。
"""
Fragment of code for messing about with (foreign)
time-zones and datetime/ephem
"""
import datetime
import pytz
ChengduTZ = pytz.timezone('Asia/Chongqing')
ParisTZ = pytz.timezone('Europe/Paris')
LondonTZ = pytz.timezone('Europe/London')
NewYorkTZ = pytz.timezone('America/New_York')
MidnightInChengdu = datetime.datetime(2013, 6, 5, 0, 0, 0, 0, ChengduTZ)
MidnightInNewYork = datetime.datetime(2013, 6, 5, 0, 0, 0, 0, NewYorkTZ)
print("When it's midnight in Chengdu it's:")
print(MidnightInChengdu)
print(MidnightInChengdu.astimezone(LondonTZ))
print(MidnightInChengdu.astimezone(ParisTZ))
print(MidnightInChengdu.astimezone(NewYorkTZ))
print("\nWhen it's midnight in New York it's:")
print(MidnightInNewYork)
print(MidnightInNewYork.astimezone(LondonTZ))
print(MidnightInNewYork.astimezone(ParisTZ))
print(MidnightInNewYork.astimezone(ChengduTZ))
产生下面的输出:
When it's midnight in Chengdu it's:
2013-06-05 00:00:00+07:06
2013-06-04 17:54:00+01:00
2013-06-04 18:54:00+02:00
2013-06-04 12:54:00-04:00
When it's midnight in New York it's:
2013-06-05 00:00:00-05:00
2013-06-05 06:00:00+01:00
2013-06-05 07:00:00+02:00
2013-06-05 13:00:00+08:00