0
我写了这个小脚本根据我的需要格式化timedelta对象:格式化timedelta对象蟒蛇
def due_format(self):
time_diff = abs((self.due - datetime.datetime.now()).total_seconds())
days = time_diff/60/60/24
hours = time_diff/60/60
minutes = time_diff/60
hours_wo_days = hours - (math.floor(days) * 24)
minutes_wo_hours = minutes - (math.floor(hours) * 60)
if (days >= 7):
self.due_format = '{} Days'.format(int(days))
elif (hours > 48):
self.due_format = '{} Days, {} Hours'.format(int(days), int(hours_wo_days))
elif (hours <= 48 and hours >= 10):
self.due_format = '{} Hours'.format(int(hours))
elif (hours <= 1):
self.due_format = '{} Minutes'.format(int(minutes))
elif (hours < 10):
self.due_format = '{} Hours, {:.0f} Minutes'.format(int(hours), int(minutes_wo_hours))
我收到我的做法使事情变得过于复杂的感觉,想问问你们,如果你会以不同的方式攻击这个问题。有没有我可以利用的捷径?我希望这个问题适合于SO。
你能解释一下,你对目前的方法感到不满意吗? – NPE
我只是希望有一个更容易/更pythonic的方式来做到这一点。只是想学习:) –
总是提到你使用的是什么Python。在这种情况下.total_seconds意味着3.2 – Tobias