我在试着计算一个帖子上线后的小时数。它可以工作,除非它将24小时后视为0小时。换句话说,它似乎只是从基线时间中减去当前时间,而不考虑日期差异。
def hours_live(self):
diff=((datetime.datetime.today() - self.created).seconds)/3600
return '%d Hours Ago' %diffself.created指的是Django DateTimeField:
created=models.DateTimeField(auto_now_add=True)关于这里的datetime对象,我错过了什么?
发布于 2011-06-16 23:42:24
你要的是total_seconds(),而不是seconds。
发布于 2011-06-17 00:02:29
别忘了你也可以使用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'https://stackoverflow.com/questions/6374527
复制相似问题