將時間量轉換為天,小時和分鐘我有一個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

一只甜甜圈
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
添加回答
舉報
0/150
提交
取消