自从在我的网站上发布了一篇帖子以来,我正在尝试一些聪明的日期(“几秒钟后,几小时后,几周后,等等。”)并且我正在使用存储在 utcnow 和 utc 日期之间的 datetime.timedelta 差异一个帖子的数据库。
看起来,根据文档,我必须使用 days 属性和 seconds 属性来获得我想要的花哨的日期字符串。
我不能在任何时间单位中获得我想要的整个差异的价值吗?我错过了什么吗?
如果我能在几秒钟内获得全部差异,那将是完美的。
似乎 Python 2.7 引入了一个total_seconds()方法,我相信这正是您所寻找的!
您可以以秒为单位计算差异。
total_seconds = delta.days * 86400 + delta.seconds
不,你没有“遗漏什么”。它不会在几秒钟内提供增量。
如果我能在几秒钟内获得全部差异,那将是完美的。
那么“time”模块提供的plain-old-unix-timestamp 可能更符合您的口味。
我个人还没有被“日期时间”中的很多内容说服。
就像 bobince 说的,你可以使用时间戳,像这样:
# assuming ts1 and ts2 are the two datetime objects
from time import mktime
mktime(ts1.timetuple()) - mktime(ts2.timetuple())
尽管我认为这比仅计算timedelta
对象的秒数还要丑陋...