蟒蛇 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 (将#修改为@)