Python - 如何计算自X日期以来经过的时间?

7

我有一个数据库表格,里面有各种文章,每篇文章都有一个提交日期。我需要计算自文章在数据库中发布以来的天数和小时数,例如:

This article has been published 4 hours ago.
This article has been published 3 days and 4 hours ago.

有没有现成的代码可以重复使用来做这个?我在谷歌上搜索过,但可能用词不当。

有什么线索能帮助我吗?

最好的问候,

2个回答

11

看一下datetime,它拥有你所需的一切。

当你从一个日期时间中减去另一个日期时间时,你会得到一个timedelta对象。你可以使用total_seconds()来获取以秒为单位的持续时间,并使用除法将其转换为小时和天数。然后,你唯一需要做的就是将其格式化为可读的字符串。


就我所知,对 datetime.timedelta 对象调用 str() 可以创建一个格式为“4 天,23:58:57.256000”的字符串。我认为没有更改格式的方法,但如果这是可接受的格式,它可以节省一些工作量。 - Jeremiah
优秀的回答,但请注意timedelta类的相关方法是total_seconds。 - Shmil The Cat

3

嗨。你的代码第9行有一个简单的错误。它说:'dt = otherdate - now',但实际上应该反过来。也许这就是投票者投反对票的原因。 - Firebowl2000

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接