如何解决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
。
, 别忘了,您也可以选择使用Djangotimesince
过滤器:)
>>> 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\'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。