首页 > 解决方案 > 我可以在一个函数中调用当前时间两次吗?

问题描述

这是我的代码:

import datetime, time 
def function():
    start = datetime.now()
    ...
    stop = datetime.now()
    result = (stop - start).total_seconds()
    return result

但是当我执行它时,它返回 0 ......为什么

标签: pythondatetimetime

解决方案


照原样,代码根本不运行,也不返回任何东西。相反,我收到一个属性错误:

AttributeError:模块 'datetime' 没有属性 'now'

当我修复您的代码 ( from datetime import datetime) 并运行它时,结果是

0:00:00

这可能是小时、分钟和秒。这是启动和停止之间...的唯一命令。如果...零件的检测时间少于一毫秒,则可能无法检测到。我怀疑您在评论中所说的需要 50 毫秒(另见下文)。

我可以在一个函数中调用当前时间两次吗?

是的:

import time
from datetime import datetime
def function():
    start = datetime.now()
    time.sleep(.001)
    stop = datetime.now()
    result = stop - start
    return result

print(function())

0:00:00.001994

如您所见,在 1 ms 的睡眠时间,测量的时间偏离了约 100%,时间不再准确。


推荐阅读