python - 将 timedelta 转换为天、小时和分钟

我有一个时间增量。我想要其中的天数、小时数和分钟数 - 作为元组或字典......我没有大惊小怪。

这些年来,我一定用十几种语言做了十几次,但 Python 通常对所有事情都有一个简单的答案,所以我想我会先在这里问一下,然后再解决一些令人作呕的简单(但冗长)的数学问题。

福兹先生提出了一个很好的观点。

我正在处理“列表”(有点像 ebay 列表),其中每个列表都有一个持续时间。我正在尝试通过执行 when_added + duration - now

来查找剩余时间

我是否正确地说不会考虑 DST?如果不是,加/减一个小时的最简单方法是什么?

最佳答案

如果您有一个 datetime.timedeltatd,则 td.days 已经为您提供了您想要的“天数”。 timedelta 值将一天中的小数部分保持为秒(而不是直接小时或分钟),因此您确实必须执行“令人作呕的简单数学”,例如:

def days_hours_minutes(td):
    return td.days, td.seconds//3600, (td.seconds//60)%60

https://stackoverflow.com/questions/2119472/

相关文章:

python - 如何找到已安装的 pandas 版本

linux - 如何找出文本文件中的行尾?

linux - 如何使用 'cut' 查找最后一个字段

linux - 使用端口 80 (Ubuntu/Linode) 运行 Node.js 时的最佳实践

python - python多久刷新一次文件?

python - 有哪些好的 Python ORM 解决方案?

python - 检查字符串是否以列表中的一个字符串结尾

python - 在 Python 中计算字典中不同键的数量

linux - Linux 内核是如何测试的?

python - 在python中获取随机 bool 值?