TypeError:-:“ datetime.datetime”和“ int”的不受支持的操作数类型

时间:2019-01-20 05:52:34

标签: python datetime

我正在尝试制作天文钟,但在计算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'

我环顾四周,但没有发现任何有效的方法。我不知道是什么原因引起的。

1 个答案:

答案 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_timestop_time移到一个函数(delta)中作为参数,以便在计算delta_time时完成功能范围内的类似类型的变量。