如何解决为什么这些日期时间对象的时区不相等?
我遇到datetime
对象的问题。这是我的代码:
import datetime
import pytz
userInfo = 'Europe/Istanbul'
# Current date,2020-9-8 15:00
cd = datetime.datetime.now(pytz.timezone(userInfo))
# Example date,2020-9-8 15:00
ed = datetime.datetime(2020,9,8,15,pytz.timezone(userInfo))
# Print both dates
print('Example',ed,'\n','Current',cd,'\n')
if ed == cd:
print('Equal')
else:
print('Not worked')
如您所见,这些日期是相等的,但是当我尝试打印它们时,会得到以下结果:
Example 2020-9-8 15:00:00.000000+01:56
Current 2020-9-8 15:00:00.000000+03:00
Not worked
时区不同,为什么?我为两个对象使用相同的时区。如何将两个对象的时区都设置为+03:00
(伊斯坦布尔的时区)?谢谢。
解决方法
您的代码无法使用,因为您需要使用tzinfo = ...:
ed = datetime.datetime(2020,9,8,15,tzinfo=pytz.timezone(userInfo))
但是它给出了错误的结果。我不知道为什么,但是要获得想要的东西,请使用以下表格:
ed = pytz.timezone(userInfo).localize(datetime.datetime(2020,0))
有关更多信息,请查看此帖子:pytz - Converting UTC and timezone to local time
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。