如何将GAE的TimeProperty转换为整数?

0 投票
1 回答
579 浏览
提问于 2025-04-16 06:50

这个Python包里,有一段代码:

>>> dt = DateTime('Mar 9, 1997 13:45:00 US/Eastern')
>>> dt.timeTime()
857933100.0

我想用这个包,但有个警告:“除非你需要和Zope 2的API通信,否则你可能更适合使用Python自带的datetime模块。”

在GAE中,TimeProperty给我的结果像这样02:37:31.797000,我该怎么把它转换成一个数字,就像例子里那样,这样我就可以在它上面加一个整数并按新的值排序。我想实现某种加权排序。谢谢。

编辑

@Robert Kluin:

谢谢,这个方法有效:

>>> today = datetime.datetime.today().toordinal()
>>> today
734086
>>>

但我有一个DateTime对象,我在查询中用它来排序;所以这个方法有效:

    QUERY2 = Rep.all()
    QUERY2.filter("mAUTHOR =", user)
    QUERY2.order("-mDATE")
    RESULTS2 = QUERY2.fetch(10)

但是当我尝试这个时,它不管用:

    QUERY2 = Rep.all()
    QUERY2.filter("mAUTHOR =", user)
    QUERY2.order("-(datetime.datetime.mDATE.toordinal())")
    RESULTS2 = QUERY2.fetch(10) 

我收到这个错误:

PropertyError: Invalid property name '(datetime.datetime.mDATE.toordinal())'

这是模板打印出来的mDATE的值:

mDATE = 2010-11-10 05:38:55.340000 

1 个回答

1

可以看看这个 time 模块。

import time
value = time.time()

撰写回答