提问人:Abhishek Singh 提问时间:10/5/2023 最后编辑:FObersteinerAbhishek Singh 更新时间:10/6/2023 访问量:62
pytz 模块的 Python 时区问题
Python Time Zone issue with pytz module
问:
我已经编写了一个代码来处理日期时间,但它给出的结果不一致。
def date_time_conversion(str_dt):
brussels = pytz.timezone("Europe/Brussels")
converted_date = datetime.strptime(str_dt, '%Y.%m.%d %H.%M.%S')
b = brussels.localize(converted_date)
return b
每当我在 2037 年之前的任何日期运行此代码时,它都会正确检测夏令时。但是每当我在 2037 年之后的任何一年运行它时,它都无法检测到夏令时
检测到的 DST 示例:
date_time_conversion('2036.08.05 00:00:00')
输出:datetime.datetime(2037, 8, 5, 0, 0, tzinfo =<DstTzInfo 'Europe/Brussels' CEST+2:00:00 DST>)
date_time_conversion('2036.01.05 00:00:00')
输出:datetime.datetime(2037, 8, 5, 0, 0, tzinfo =<DstTzInfo 'Europe/Brussels' CET+1:00:00 STD>)
但是对于 2038 年及之后的任何日期:
未检测到 DST 示例:
date_time_conversion('2038.08.05 00:00:00')
输出:datetime.datetime(2038, 5, 0, 0, 0, tzinfo =<DstTzInfo 'Europe/Brussels' CET+1:00:00 STD>)
date_time_conversion('2038.01.05 00:00:00')
输出:datetime.datetime(2038, 1, 5, 0, 0, tzinfo =<DstTzInfo 'Europe/Brussels' CET+1:00:00 STD>)
这是我第一次处理时区,所以请原谅我任何愚蠢的逻辑错误。
答: 暂无答案
评论