微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

蟒蛇 pytz和datetime.astimezone行为不符合预期

如何解决蟒蛇 pytz和datetime.astimezone行为不符合预期

我在django字段中保存了一个datetime对象。我查询它,更改时区并打印它,这是代码,我得到的是:

代码

    print("event.date_start: %s" % event.date_start)
    print("event.date_start.hour: %s" % event.date_start.hour)
    print("event.date_start.tzinfo: %s" % event.date_start.tzinfo)

    user_timezone = pytz.timezone("ETC/"+logged_user_profile.timezone)
    print("user_timezone: %s" % user_timezone)

    event_user_timezone = event.date_start.astimezone(user_timezone)  # HERE
    print("event_user_timezone: %s" % event_user_timezone)
    print("event_user_timezone.hour: %s" % event_user_timezone.hour)

打印:

event.date_start: 2020-11-17 18:00:00+00:00
event.date_start.hour: 18
event.date_start.tzinfo: UTC
user_timezone: Etc/GMT-5
event_user_timezone: 2020-11-17 23:00:00+05:00
event_user_timezone.hour: 23

如您所见,最初的tzinfo是UTC,然后我使用astimezone来实现它,并将其更改为ETC/GMT-5。但是时间更改为GMT + 5。不明白如果您需要更多信息,请告诉我。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。