覆盖内置的timedelta字符串表示形式

时间:2019-05-23 23:38:31

标签: python python-2.7

我希望覆盖timedelta字符串表示形式,以便在大于一天的时间内得到例如“ 26:00:00”,而不是“ 1 day,2:00:00”。我已经重写了__str__的{​​{1}}方法来获取所需的字符串,但是我意识到timedelta算术仍然会返回标准的datetime对象,但是我没有想覆盖datetime实现的大块内容。

timedelta

我也尝试过猴子修补import datetime class TimedeltaNoDays(datetime.timedelta): def __str__(self): mm, ss = divmod(self.seconds, 60) hh, mm = divmod(mm, 60) hh += self.days * 24 s = "%d:%02d:%02d" % (hh, mm, ss) if self.microseconds: s = s + ".%06d" % self.microseconds return s ,但出现错误:

timedelta.__str__

如何做到这一点,以使其覆盖我项目中timedelta的行为?

0 个答案:

没有答案