ライブラリの1つをPython2.6と互換性のあるものにしようとしています。2.7で追加されたメソッドdatetime.timedelta.total_seconds
を使用しているため、2.6で機能させるために、次のようにモンキーパッチを適用したいとtimedelta
思いました。
import datetime
if not hasattr(datetime.timedelta, 'total_seconds'):
class timedelta(datetime.timedelta):
def total_seconds(self):
return self.days * 86400.0 + self.seconds + self.microseconds * 1e-6
datetime.timedelta = timedelta
timedelta
これは実際に機能する場合があります。たとえば、変数を作成する場合、このメソッドがあります。ただし、timedelta
2つの値を減算して新しいオブジェクトを作成するdatetime.datetime
と、結果のオブジェクトからメソッドが欠落します。
何が問題になっていますか?これを修正するにはどうすればよいですか?