为了账号安全,请及时绑定邮箱和手机立即绑定

将时间量转换为天,小时和分钟

将时间量转换为天,小时和分钟

喵喵时光机 2019-12-16 09:45:49
将时间量转换为天,小时和分钟我有一个timedelta。我想要从中得到的天,小时和分钟-作为元组或字典...我不大惊小怪。多年来,我肯定已经用十几种语言完成了十二次,但是Python通常对所有问题都有一个简单的答案,因此我想我会在这里提出一些令人讨厌的简单(但冗长)的数学之前先问一下。福兹先生提出了一个很好的观点。我正在处理“列表”(有点像ebay列表),每个列表都有持续时间。我试图通过做找到剩余的时间when_added + duration - now我是不是说DST不正确?如果不是,添加/减去一个小时的最简单方法是什么?
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

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


def days_hours_minutes(td):

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


查看完整回答
反对 回复 2019-12-16
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

这更加紧凑,您可以在两行中获得小时,分钟和秒。


days = td.days

hours, remainder = divmod(td.seconds, 3600)

minutes, seconds = divmod(remainder, 60)

# If you want to take into account fractions of a second

seconds += td.microseconds / 1e6


查看完整回答
反对 回复 2019-12-16
  • 3 回答
  • 0 关注
  • 508 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号