在Python中去掉日期时间中的小时和分钟

4

这是我第一次使用Python。我正在尝试确定代码运行需要多长时间。以下是我的代码:

from datetime import datetime, timedelta
startTime = datetime.now()
#Some code
t = datetime.now() - startTime
print t.strftime("%S.%f")

但是它给我返回了这个错误:
'datetime.timedelta' object has no attribute 'strftime'

我该怎么办?我在StackOverflow上找到了一个例子,据说可以用,所以我跟着操作了:

from datetime import datetime
now = datetime.now()
now.strftime("%H:%M:%S.%f")
>>'12:19:40.948000'
3个回答

4

datetime.now() 返回一个 datetime.datetime 对象(该对象具有 strftime 方法)。

但是,当你减去两个这样的对象时,你会得到一个 datetime.deltatime 对象(该对象没有 strftime 方法)。

你可以通过以下方式实现你想要的结果:

print t.total_seconds()

1

0
如果您正在使用ipython或Jupyter笔记本,则有一个内置的魔术函数%time可用于计时:
from time import sleep

%%time
sleep(1)

CPU times: user 336 µs, sys: 520 µs, total: 856 µs
Wall time: 1 s

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接