如何在Python中截断DateTime对象上的时间?


问题内容

截断python datetime对象的经典方法是什么?

在这种情况下,直到今天。因此,基本上将小时,分钟,秒和微秒设置为0。

我希望输出也是日期时间对象,而不是字符串。


问题答案:

我认为这就是您要寻找的…

>>> import datetime
>>> dt = datetime.datetime.now()
>>> dt = dt.replace(hour=0, minute=0, second=0, microsecond=0) # Returns a copy
>>> dt
datetime.datetime(2011, 3, 29, 0, 0)

但是,如果您真的不在乎事物的时间方面,那么您实际上应该只绕过date对象…

>>> d_truncated = datetime.date(dt.year, dt.month, dt.day)
>>> d_truncated
datetime.date(2011, 3, 29)