截断Python日期时间?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (195)

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

在这种特殊情况下,直到今天。所以基本上把小时,分钟,秒和微秒设置为0。

我希望输出也是datetime对象,而不是字符串。

提问于
用户回答回答于

如果你不在乎时间,就用一个date不是datetime

>>> now = datetime.now()
>>> now.date()
datetime.date(2011, 3, 29)

你可以像这样更新日期时间:

>>> now.replace(minute=0, hour=0, second=0, microsecond=0)
datetime.datetime(2011, 3, 29, 0, 0)
用户回答回答于

我想这就是你要找的...

>>> 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)

扫码关注云+社区

领取腾讯云代金券