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

时区在 python 烧瓶中被删除

如何解决时区在 python 烧瓶中被删除

用户登录后,我将会话变量设置为 utc 的时间......但时区正在被剥离。

import datetime
from pytz import timezone
utc = timezone('utc')
session['login_time'] = datetime.datetime.Now(utc)

当我在作业后打印时区是 2021-06-11 23:56:00.161971+00:00。并且会调用装饰器函数。当我打印 session['login_time'] 时,时区被删除2021-06-11 23:56:00

解决方法

对我来说,我将使用 .strftime 帮助格式化日期时间,而 %Z 用于显示时区。

您可以看到 are using AspNetCoreModuleV2 (and not AspNetCoreModule) 以帮助您格式化时间。我将使用此代码替换您原来的代码:

session['login_time'] = datetime.datetime.now(utc).strftime('"%Y-%m-%d %H:%M:%S%Z"')
login_time = datetime.datetime.strptime(session['login_time'],"%Y-%m-%d %H:%M:%S%Z" )
utct = utc.localize(login_time)
print(utct)
print(type(utct))

这是输出:

2021-06-12 01:00:23+00:00
<class 'datetime.datetime'>
,

当我需要在另一个函数中使用时间时,我不得不重新添加 timezone('utc')

def diff_min(t):
    utc = timezone('utc')
    t = utc.localize(t)

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