Python format timedelta greater than 24 hours for display only containing hours?

后端 未结 3 560
春和景丽
春和景丽 2020-11-30 14:18

How do I format timedelta greater than 24 hours for display only containing hours in Python?

>>> import datetime
>>> td = datetime.timedelt         


        
3条回答
  •  攒了一身酷
    2020-11-30 14:51

    May be defining your class that inherits datetime.timedelta will be a little more elegant

    class mytimedelta(datetime.timedelta):
       def __str__(self):
          seconds = self.total_seconds()
             hours = seconds // 3600
             minutes = (seconds % 3600) // 60
             seconds = seconds % 60
             str = '{}:{}:{}'.format(int(hours), int(minutes), int(seconds))
             return (str)
    
    td = mytimedelta(hours=36, minutes=10, seconds=10)
    
    >>> str(td)
    prints '36:10:10'
    

提交回复
热议问题