now()给了我
datetime.datetime(2010, 7, 6, 5, 27, 23, 662390)
我如何得到datetime.datetime(2010, 7, 6, 5, 27, 0, 0)
(日期时间对象),其中所有分钟后的所有内容都为零?
答案 0 :(得分:90)
dtwithoutseconds = dt.replace(second=0, microsecond=0)
http://docs.python.org/library/datetime.html#datetime.datetime.replace
答案 1 :(得分:13)
您可以使用datetime.replace
获取没有秒和微秒的新日期时间对象:
the_time = datetime.now()
the_time = the_time.replace(second=0, microsecond=0)
答案 2 :(得分:13)
我知道这是一个很老的问题,但到目前为止我还没有找到任何真正完整的答案。
无需先创建日期时间对象,然后再对其进行操作。
dt = datetime.now()。replace(second = 0,microsecond = 0)
将返回所需的对象
答案 3 :(得分:0)
有人说 Python 可能很快就会增加纳秒,如果是这样,其他答案中提到的 replace(microsecond=0)
方法可能会中断。
因此,我正在这样做
datetime.fromisoformat( datetime.now().isoformat(timespec='minutes') )
也许通过字符串表示有点愚蠢和昂贵,但它让我安心。