可以在python中操作不同的类吗?像datetime添加日期一样?

时间:2018-07-18 11:58:57

标签: python

可以在python中操作不同的类吗? 像datetime添加/减少的日期:datetime.datetime(2018,07,18)-datetime.date(2018,07,18)吗?

3 个答案:

答案 0 :(得分:1)

是的,您可以重载一个类的所有operator methods,以使各个运算符可以在该类上工作。

例如,以下类重载减法运算符方法{ "errcode": 40066, "errmsg": "invalid url hint: [qQ0550418k466!]" } 以根据其属性__sub__执行减法:

n

这将输出class N: def __init__(self, n): self.n = n def __sub__(self, x): return self.n - x.n print(N(3) - N(2))

答案 1 :(得分:0)

您不能直接这样做。您可以使用类datetime.timedelta

从日期时间添加/减去特定的持续时间
 diff = datetime.datetime(2018, 7, 18) - datetime.timedelta(days=100)

答案 2 :(得分:0)

是的,您可以执行以下操作:

import datetime
a = datetime.date(2018, 7, 18) - datetime.date(2018, 7, 3)
days = a.days
print(f'Number of days difference is {days}')

请注意,将datetime中的减数定义为给出对象timedelta,使用days方法则给出为整数的天数。 因此type(a)赋予<class 'datetime.timedelta's>a.days的数字15