Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python——忽略天数的Timedelta表达式(将6分钟视为24小时+;6分钟)_Python_Django_Datetime - Fatal编程技术网

Python——忽略天数的Timedelta表达式(将6分钟视为24小时+;6分钟)

Python——忽略天数的Timedelta表达式(将6分钟视为24小时+;6分钟),python,django,datetime,Python,Django,Datetime,我正在计算一个帖子上线后的小时数。它可以工作,但它会将24小时后视为0小时。换句话说,它似乎只是从基线时间中减去当前时间,而不考虑日差 def hours_live(self): diff=((datetime.datetime.today() - self.created).seconds)/3600 return '%d Hours Ago' %diff self.created指的是Django日期时间字段: created=mod

我正在计算一个帖子上线后的小时数。它可以工作,但它会将24小时后视为0小时。换句话说,它似乎只是从基线时间中减去当前时间,而不考虑日差

    def hours_live(self):
         diff=((datetime.datetime.today() - self.created).seconds)/3600
         return '%d Hours Ago' %diff
self.created指的是Django日期时间字段:

      created=models.DateTimeField(auto_now_add=True)

这里的datetime对象缺少什么?

您想要的是
total_seconds()
,而不是
seconds

别忘了您也可以使用Django
timesince
过滤器作为选项:)


感谢Mark,python文档似乎没有明确显示.seconds属性在这种情况下不起作用(尽管total_seconds描述得很好)。谢谢,酷,我不知道。谢谢caio
>>> import datetime
>>> past = datetime.datetime.now() - datetime.timedelta(hours=6, minutes=20)
>>>
>>> from django.template.defaultfilters import timesince
>>> timesince(past)
u'6 hours, 20 minutes'