如何在使用pytz时指定CST时区?

时间:2015-07-15 23:04:03

标签: python datetime timezone pytz

我设置了两个代码段,用于向用户返回日期。第一个将日期从CET时区转换为CST,如下所示:

from datetime import datetime
from pytz import timezone
import pytz

fmt = '%Y-%m-%d %H:%M:%S %Z%z'

cet = pytz.timezone("CET")
install_date = datetime(day=18, month=5, year=2015, hour=18, minute=00, second=00, tzinfo=cet)

hometime = timezone('Canada/Saskatchewan')
loc_dt = install_date.astimezone(hometime)

result=loc_dt.strftime(fmt)

返回正确的结果:

2015-05-18 11:00:00 CST-0600

对于第二段,我只想要在CST时区下返回的日期,以确保它不受夏令时影响:

from datetime import datetime
from pytz import timezone
import pytz

fmt = '%Y-%m-%d %H:%M:%S %Z%z'
cst = pytz.timezone('Canada/Saskatchewan')
calibration_date = datetime(day=2, month=6, year=2015, hour=10, minute=00, second=00, tzinfo=cst)
result = calibration_date.strftime(fmt)

返回结果:

2015-06-02 10:00:00 LMT-0659

注意LMT-0659的结果。我需要它来返回CST-0600,因为CST不受夏令时的影响。我不确定为什么转换段会返回CST时区,而LMT时区在第二段返回。

有谁知道为什么我收到LMT-0659的结果以及我应该用什么时区来获得正确的CST-0600时区?我应该只使用' Etc / GMT + 6'时区反而避免将来出现任何夏令时问题?

0 个答案:

没有答案
相关问题