在Python中确定事件的持续时间

Sol*_*oub 2 python google-app-engine

这是一个非常虚伪的问题,所以我提前道歉!

我有两个时间戳,用于活动的开始和结束.它们以UTC格式存储在datetime.datetime中.我需要做的是弄清楚事件的持续时间.

我尝试从另一个中减去一个,但收到错误:

Traceback (most recent call last):
02.
File '/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py', line 509, in __call__
03.
handler.post(*groups)
04.
File '/base/data/home/apps/.../3.340324527833140591/main.py', line 441, in post
05.
call_record.Duration = call_record.CallStartTime - call_record.CallEndTime
06.
File '/base/python_lib/versions/1/google/appengine/ext/db/__init__.py', line 472, in __set__
07.
value = self.validate(value)
08.
File '/base/python_lib/versions/1/google/appengine/ext/db/__init__.py', line 2322, in validate
09.
(self.name, self.data_type.__name__))
10.
BadValueError: Property Duration must be a datetime
11.

CallStartTime,CallEndTime和Duration都是GAE中的db.DateTimeProperty()类型.

我之前使用django timesince来显示持续时间,但我需要做一些额外的计算来计算出平均值.事件的持续时间.

任何有关其他信息可能有用的建议或指示都非常感谢!

Wil*_*hen 5

datetime从另一个中减去会给你一个timedelta.datetime如果需要,可以使用它来创建另一个,方法是将其添加到另一个datetime对象或从另一个对象中减去它.

但是,如何用单个datetime对象表示持续时间?