首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python--Timedelta表达式忽略天(将6分钟视为24小时+6分钟)

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

Stack Overflow用户
提问于 2011-06-16 23:36:51
回答 2查看 751关注 0票数 2

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

代码语言:javascript
复制
    def hours_live(self):
         diff=((datetime.datetime.today() - self.created).seconds)/3600
         return '%d Hours Ago' %diff

self.created指的是Django DateTimeField:

代码语言:javascript
复制
      created=models.DateTimeField(auto_now_add=True)

关于这里的datetime对象,我错过了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-16 23:42:24

你要的是total_seconds(),而不是seconds

票数 6
EN

Stack Overflow用户

发布于 2011-06-17 00:02:29

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

代码语言:javascript
复制
>>> 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'
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6374527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档