有没有直接的方法来忽略python日期时间对象的部分?

jsa*_*msf 3 python datetime

我正在尝试比较两个日期时间对象,但忽略了年份.例如,给定

a = datetime.datetime(2015,07,04,01,01,01)
b = datetime.datetime(2016,07,04,01,01,01)
Run Code Online (Sandbox Code Playgroud)

我希望== b通过忽略年份返回True.为了做这样的比较,我想我可以在同一年创建新的日期时间对象,如:

c = datetime.datetime(2014,a.month,a.day,a.hour,a.minute,a.second)
d = datetime.datetime(2014,b.month,b.day,b.hour,b.minute,b.second)
Run Code Online (Sandbox Code Playgroud)

然而,这似乎不是非常pythonic.是否有更直接的方法来进行比较,就像我问的那样?

我正在使用python 3.4.

Ale*_*der 8

(a.month, a.day, a.hour, a.minute, a.second == 
 b.month, b.day, b.hour, b.minute, b.second)
Run Code Online (Sandbox Code Playgroud)

一个不太明确的方法是比较时间元组中的相应元素:

a.timetuple()[1:6] == b.timetuple()[1:6]
Run Code Online (Sandbox Code Playgroud)


acw*_*668 5

尝试:

a.replace(year=1,microsecond=0) == b.replace(year=1,microsecond=0)
Run Code Online (Sandbox Code Playgroud)