我正在尝试将日期时间字符串转换为不同的时区。我的代码工作,但结果不是我要找的。你知道吗
我已经尝试了.localize()
和.astimezone
,但是输出是相同的。你知道吗
phtimezone = timezone('Asia/Manila')
test = datetime.datetime.strptime('Sun Sep 16 03:38:40 +0000 2018','%a %b %d %H:%M:%S +0000 %Y')
date = phtimezone.localize(test)
print (date)
date = test.astimezone(phtimezone)
print (date)
输出是2018-09-16 03:38:40+08:00
。我以为是2018-09-16 11:38:40+08:00.
多亏@deceze,我才得以修复。代码如下:
输出现在是
2018-09-16 11:38:40+08:00
您解析的对象
test
不包含时区。这是一个天真的对象。同时使用localize
和astimezone
不能进行任何转换,因为它们不知道转换的是什么;所以它们只是将给定的时区附加到天真的datetime
。你知道吗同时分析时区:
这将在UTC时区中为您提供一个感知的
datetime
对象,该对象可以转换为其他时区。你知道吗相关问题 更多 >
编程相关推荐