首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何截断datetime对象上的时间?

如何截断datetime对象上的时间?
EN

Stack Overflow用户
提问于 2011-03-30 00:52:21
回答 15查看 268.5K关注 0票数 297

截断python datetime对象的最好方法是什么?

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

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

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2011-03-30 01:00:58

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

>>> 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)
票数 451
EN

Stack Overflow用户

发布于 2011-03-30 00:55:34

如果你不关心时间,那就使用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)
票数 84
EN

Stack Overflow用户

发布于 2011-03-30 01:10:08

不能截断datetime对象,因为it is immutable

但是,这里有一种方法可以构造一个新的日期时间,其中包含0小时、分钟、秒和微秒字段,而不会丢弃原始的日期或tzinfo:

newdatetime = now.replace(hour=0, minute=0, second=0, microsecond=0)
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5476065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档