Python:高效格式化日期时间并保持为日期时间对象

0 投票
1 回答
980 浏览
提问于 2025-04-16 13:47

我想要格式化一个日期时间对象,但又希望它仍然保持为对象。我找到了一种方法来做到这一点,但感觉效率不是很好。

我具体的目标是把秒数的额外数字限制为2位。这是我现在的做法:

now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
now_frmt = datetime.datetime.strptime(now, '%Y-%m-%d %H:%M:%S')

谢谢,
JJ

1 个回答

2

你可以这样做来减去微秒:

now = datetime.datetime.now()
now_frmt = now - datetime.timedelta(microseconds=now.microsecond)

要四舍五入到最接近的秒,你可以这样做:

now = datetime.datetime.now()
delta = (0 if now.microsecond < 500000 else 1000000) - now.microsecond
now_frmt = now + datetime.timedelta(microseconds=delta)

撰写回答