如何在Python中格式化日期时间输出?

如何在Python中格式化日期时间输出?,python,datetime,Python,Datetime,有一个计划,让日期倒计时。我不想打印毫秒,请帮助这里是我的python程序: import time import datetime while (datetime.datetime.now() != datetime.datetime (2018,5,5,19,30)): print (datetime.datetime (2018,5,5,19,30) - datetime.datetime.now()) time.sleep(1.0) 这是我当前的输出:54天,3:54:

有一个计划,让日期倒计时。我不想打印毫秒,请帮助这里是我的python程序:

import time
import datetime
while (datetime.datetime.now() != datetime.datetime (2018,5,5,19,30)):
    print (datetime.datetime (2018,5,5,19,30) - datetime.datetime.now())
    time.sleep(1.0)
这是我当前的输出:
54天,3:54:53.603289

想:
54天,3:54:53
,但不知道怎么做

您正在寻找的,它将:

返回具有相同属性的datetime,但以下属性除外 通过使用哪个关键字参数为属性指定新值 指定的

输出:

54 days, 3:49:31
54 days, 3:49:30
54 days, 3:49:29
54 days, 3:49:28
54 days, 3:49:27
54 days, 3:49:26
54 days, 3:49:25
54 days, 3:49:24
54 days, 3:49:23
您正在寻找,这将:

返回具有相同属性的datetime,但以下属性除外 通过使用哪个关键字参数为属性指定新值 指定的

输出:

54 days, 3:49:31
54 days, 3:49:30
54 days, 3:49:29
54 days, 3:49:28
54 days, 3:49:27
54 days, 3:49:26
54 days, 3:49:25
54 days, 3:49:24
54 days, 3:49:23

正如您所发现的,对于
timedelta
对象,没有好的格式化选项。我建议您预先计算
结束时间
并使用
,正如您所发现的,
时间增量
对象没有好的格式选项。我建议您预先计算
结束时间
,并使用

from datetime import datetime
import time

end_time = datetime(2018, 5, 5, 19, 30)

while datetime.now() < end_time:
    print(end_time - datetime.now().replace(microsecond=0))
    time.sleep(1.0)