python日期和时间相加_在Python中重写运算符+使date+time=datetime

是的,至少有一个很好的理由不这样做:结果实例与两个输入实例完全不同。这很重要吗?我不这么认为——考虑一下date - date会产生{}。在

在我看来:把两个日期加在一起有意义吗?没有

两次相加有意义吗?没有

把日期和时间加在一起有意义吗?是的!在

将日期和时间增量添加到一起有意义吗?也许 吧。在

将时间和时间增量相加有意义吗?也许 吧。在

减法呢减去两个日期有意义吗?对。在

减去两次有意义吗?对。在

从日期中减去时间有意义吗?不。在

从日期中减去timedelta有意义吗?也许 吧。在

从时间中减去timedelta有意义吗?也许 吧。在

按照合理的思路发展:date + time => datetime

date + timedelta => date | datetime or exception or silently drop time portion

time + date => datetime

time + timedelta => time | wrap-around or exception

date - date => timedelta

date - timedelta => date | datetime or exception or silently drop time portion

time - time => timedelta

time - timedelta => time | wrap-around or exception

datetime + timedelta => datetime

datetime - timedelta => datetime

因此,如果是我,我在设计日期、时间、日期时间、时间增量框架,我会允许:

^{pr2}$

对于这些:date +/- timedelta

time +/- timedelta

如果timedelta没有其他类型的类型,我会默认返回相同的类型,如果timedelta确实有其他类型的类型,则会引发一个异常,但是会有一个设置来控制它。另一种可能的行为是删除不需要的部分,因此日期与具有小时的timedelta组合将删除小时并返回日期。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值