Timedelta在某些情况下只显示2位数字

问题描述 投票:0回答:1

我得到以下几行代码:

from datetime import datetime

def my_function():
    start_time = datetime.now()

    # Do something

    end_time = datetime.now()

    return (end_time - start_time).microseconds

print(my_function)

如果函数执行“足够慢”,我设法获得像

906
1021
这样的输出。但有时,如果我执行函数,我只是得到结果
0
,不管我是否使用其他方法,如:

    return (end_time - start_time).total_seconds()

或:

    return (end_time - start_time) * 1000

有时我仍然只得到

0
作为输出。谁能告诉我在任何情况下如何检索时间增量?

我们将不胜感激。亲切的问候。

python python-3.x datetime timedelta
1个回答
1
投票

根据您的工作,您可以查看

time
模块并查看以下功能
time.time()
time.perf_counter()
甚至
time.perf_counter_ns()

例如

import time

def my_function():
    start_time = time.perf_counter_ns()

    # Do something

    end_time = time.perf_counter_ns()

    return return (end_time - start_time) / 1_000_000 # if you want result in ms

my_function()
© www.soinside.com 2019 - 2024. All rights reserved.