我想计算从request.session['SESSION_START_TIME']
到datetime.datetime.now()
的已用时间。我在request.session['SESSION_START_TIME']
中存储日期时间的方式是:
request.session['SESSION_START_TIME'] = datetime.datetime.now()
我想要计算经过时间的方式是:
diff = datetime.datetime.now() - request.session['SESSION_START_TIME']
但结果我收到此错误消息unsupported operand type for -: datetime.now and int
。我想解决方案是以某种方式转换存储在会话中的值,但我不知道如何。
答案 0 :(得分:3)
您的会话似乎将日期时间对象存储为自UNIX纪元以来的秒数;可能是因为datetime
个对象本身不可序列化。
首先转换回datetime
对象:
start_time = datetime.datetime.fromtimestamp(request.session['SESSION_START_TIME'])
diff = datetime.datetime.now() - start_time
如果要透明地处理datetime
个对象,可能需要查看Django文档中的Session serialisation。