python datetime怎么用_如何使用自己的方法扩展Python的datetime.datetime?

我尝试使用monkey patching实现解决方案,但遇到错误:TypeError: can't set attributes of built-in/extension type 'datetime.datetime'

这在datetime.datetime.millisecond = millisecond和GvR's ^{}中发生。

也许datetime.so不能被猴子修补。如果这是真的,那么您可能需要考虑:import datetime

class DateTime(datetime.datetime):

@property

def millisecond(self):

return self.microsecond/1000.0

def __add__(self,other):

result=super(DateTime,self).__add__(other)

result=DateTime(result.year,

result.month,

result.day,

result.hour,

result.minute,

result.second,

result.microsecond,

result.tzinfo)

return result

__radd__=__add__

d = DateTime(2010, 07, 11, microsecond=3000)

print d.millisecond

# 3.0

delta = datetime.timedelta(hours=4)

newd = d + delta

print newd.millisecond

# 3.0

# This uses __radd__

newd = delta + d

print newd.millisecond

# 3.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值