如何通过使用datetime在python中将19.129494打印为19.1秒或19秒

时间:2019-01-10 16:39:40

标签: python datetime

大家好,我有一个程序,我在该程序中完成该代码的操作所需的总时间为:

from datetime import datetime
startTime = datetime.now()
.........................
.........................
print("Total Time Taken to uploading file- " + format(datetime.now() - startTime))

这将打印如下输出:上载文件的总时间-0:00:19.129494 但是我想基于hr,min,sec拆分代码,因此我编写了如下代码:

arr=format(datetime.now() - startTime).split(":")
    Hour= int(arr[0])
    MIN= int(arr[1])
    time1= arr[2].split(".")
    Sec = int(time1[0])
    MilliSec = int(time1[1])
    list=[]
    if Hour != 0:
        list.append(arr[0])
        list.append("HOUR")
        print(arr[0],"HH")
    if MIN != 0:
        list.append(arr[1])
        list.append("MINNUTE")
        print(arr[1],"MIN")
    if Sec != 0:
        list.append(time1[0])
        list.append("SECOND")
        print(arr[2],"SEC")
    if MilliSec != 0:
        list.append(time1[1])
        list.append("MilliSecond")
        print(arr[2],"MilliSec")

此后,我得到如下输出: ['19','second','129494','Millisecond'] 我知道这不是一个很好的程序,但是无论如何我都需要打印输出 我无法打印的内容是:它应该显示为总耗时为19.1秒或19秒,我想删除列表并删除millisec(129494)或仅打印到2或1 Millisec的小数位,请帮助我得到它thnx .....

1 个答案:

答案 0 :(得分:1)

只需打印.seconds对象的datetime.timedelta属性。

from datetime import datetime
startTime = datetime.now()
#... some more code
print('time taken', (datetime.now() - startTime).seconds)