在Python中去掉datetime的秒数

79 投票
5 回答
89844 浏览
提问于 2025-04-16 00:52

现在,使用 now() 得到的是

datetime.datetime(2010, 7, 6, 5, 27, 23, 662390)

我该如何只获取 datetime.datetime(2010, 7, 6, 5, 27, 0, 0) 这个日期时间对象,其中分钟之后的所有部分都是零呢?

5 个回答

15

你可以使用 datetime.replace 来创建一个新的日期时间对象,这个对象不包含秒和微秒的信息:

the_time = datetime.now()
the_time = the_time.replace(second=0, microsecond=0)
33

我知道这个问题已经很老了,但我到现在还没找到一个真正完整的答案。

其实不需要先创建一个日期时间对象再去修改它。

dt = datetime.now().replace(second=0, microsecond=0)

这段代码会直接返回你想要的对象。

155
dtwithoutseconds = dt.replace(second=0, microsecond=0)

这是一个链接,指向Python的官方文档,具体讲解了datetime模块中的replace方法。这个方法可以用来修改日期和时间的某些部分,比如你可以把日期中的年、月、日等替换成你想要的值。

撰写回答