我正在尝试制作天文钟,但在计算delta_time时遇到问题
`def start():`
start_time = datetime.datetime.now()
print(start_time)
def stop():
stop_time = datetime.datetime.now()
print(stop_time)
delta_time = stop_time - start_time
调用这些函数时,我得到:
2019-01-20 03:38:01.630833
2019-01-20 03:38:05.790672
File "test.py", line 15, in stop
delta_time = stop_time - start_time
TypeError: unsupported operand type(s) for -: 'datetime.datetime' and 'int'
我环顾四周,但没有发现任何有效的方法。我不知道是什么原因引起的。
答案 0 :(得分:0)
您显示的错误并不表示问题出在可变范围内,而是基于无法对非相似类型进行计算而遇到的。
很难看到完整的代码,但是下面的内容可能会提供一种可能的替代解决方案:
#!/usr/bin/env python
import datetime
def start():
start_time = datetime.datetime.now()
return start_time
def stop():
stop_time = datetime.datetime.now()
return stop_time
def delta(start,stop):
delta_time = stop - start
print(delta_time)
start=start()
stop=stop()
delta(start,stop)
此解决方案将两个生成的时间戳记(start_time
和stop_time
移到一个函数(delta
)中作为参数,以便在计算delta_time
时完成功能范围内的类似类型的变量。