如何解决时区在 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 举报,一经查实,本站将立刻删除。