我有一个时间增量。我想要其中的天数、小时数和分钟数 - 作为元组或字典......我没有大惊小怪。
这些年来,我一定用十几种语言做了十几次,但 Python 通常对所有事情都有一个简单的答案,所以我想我会先在这里问一下,然后再解决一些令人作呕的简单(但冗长)的数学问题。
福兹先生提出了一个很好的观点。
我正在处理“列表”(有点像 ebay 列表),其中每个列表都有一个持续时间。我正在尝试通过执行 when_added + duration - now
我是否正确地说不会考虑 DST?如果不是,加/减一个小时的最简单方法是什么?
最佳答案
如果您有一个 datetime.timedelta
值 td
,则 td.days
已经为您提供了您想要的“天数”。 timedelta
值将一天中的小数部分保持为秒(而不是直接小时或分钟),因此您确实必须执行“令人作呕的简单数学”,例如:
def days_hours_minutes(td):
return td.days, td.seconds//3600, (td.seconds//60)%60
https://stackoverflow.com/questions/2119472/