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



我正在计算一篇帖子上线后的小时数。它有效,只是将24小时后的时间视为0小时。换句话说,它似乎只是从基线时间中减去当前时间,而没有考虑日期差异。

    def hours_live(self):
         diff=((datetime.datetime.today() - self.created).seconds)/3600
         return '%d Hours Ago' %diff

self.created指的是Django DateTimeField:

      created=models.DateTimeField(auto_now_add=True)

这里的datetime对象缺少什么?

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

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

>>> 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'

相关内容

  • 没有找到相关文章

最新更新