减去Django中的两个DateTime字段

2024-10-03 06:24:09 发布

您现在位置:Python中文网/ 问答频道 /正文

如何减去DateTime字段的两种不同格式,以获得它们之间的天数和时间差

我的模型:

class TimeAnswerElement(models.Model):
    costumer_time = models.DateTimeField()
    my_time = models.DateTimeField(auto_now_add=True)
    time_compartment = models.DateTimeField(blank=True, null=True)

我的看法:

object = get_object_or_404(TimeAnswerElement, id=1)
time_compartment = object.my_time - object.costumer_time 
#My data for fields
#object.my_time = 2020-04-28 19:31:35.550655+00:00
#object.costumer_time = 2020-04-28 11:11:00

我的解决方案返回一个错误:

unsupported operand type(s) for -: 'datetime.datetime' and 'str'

Tags: truefordatetimeobjecttimemodelsmy格式
1条回答
网友
1楼 · 发布于 2024-10-03 06:24:09

我不知道你为什么会有这个问题,但你可以通过检查它们是否是datetime的实例来解决它,否则请将它们转换为:

import datetime
from dateutil import parser
if not isinstance (object.my_time, datetime.datetime):
    my_time=parser.parse(object.my_time)
if not isinstance (object.costumer_time, datetime.datetime):
    costumer_time=parser.parse(object.costumer_time)

time_compartment = my_time - costumer_time

相关问题 更多 >