2014-02-11 54 views
0

我正在尝试两个DateTimeProperties并找出它们之间的小时数,分钟数和秒数的差别。我也试图将这两个实例之间的差异与其他实例进行平均。是否有捷径可寻?如果有人可以发布解决方案,那就太棒了!App Engine DateTimeProperty求平均值

我的模型:

class Submission(DictModel): 
    timeIn = db.DateTimeProperty(auto_now_add=False) 
    timeOut = db.DateTimeProperty(auto_now_add=False) 
    UUID = db.StringProperty() 

最后,我试图采取一切Submissions的平均值。

谢谢!

回答

2

DateTimeProperty的基础value type是python datetime.datetime。只是相减得到difference

dt = Submission(timeIn=datetime.datetime(year=2014, month=1, day=20, minute=5, hour=9), 
        timeOut=datetime.datetime(year=2014, month=2, day=25, minute=10, hour=10)) 
    diff = dt.timeOut - dt.timeIn 
    self.response.write(diff.seconds) # get seconds 
    self.response.write(diff.days) # get days 
+0

'diff.seconds'不是总秒数 - 你想'diff.total_seconds()'。 –

1

数据存储不是一个关系数据库,并不允许你做的事情,比如聚合。如果您需要计算整个数据集中的平均值等数据,则需要使用mapreduce framework,它使用离线任务在每种实体上运行映射器。