2012-02-11 39 views
1

我正在尋找一些這樣的事情。谷歌應用引擎java過濾日期查詢日

public class User 
{ 
    private Date createdOn; 
} 

現在我需要一個查詢來獲取任何一個月或一年的第10天創建的用戶。 像我需要在2012年1月10日,2012年2月10日,2010年6月10日創建的用戶..... 如何獲取gae查詢中日期的一部分?

感謝,

Ramesh.V

回答

3

剛剛創建的任何日期你正在尋找一個約會對象,並把它作爲查詢的一部分。查詢中的日期沒有什麼特別之處。

不知道,如果你正在使用JDO,JPA或直接在數據存儲,但無論哪種方式

見GQL參考(不是真的蟒蛇專用):http://code.google.com/appengine/docs/python/datastore/gqlreference.html

SELECT * FROM用戶WHERE createdOn == :日期

在JDO它看起來是這樣的:

Query query = pm.newQuery(User.class); 
query.setFilter("createdOn == dateParam"); 
List<User> results = (List<User>) query.execute(date); 
+0

我需要查詢一天的日期,而不是完整的日期,有什麼想法? – 2012-02-12 16:39:36

+2

當您創建該行以及日期時,只需將該日存儲在表中。不要害怕像appengine那樣存儲額外的數據,這是微不足道的,絕對是「正確」的方式來做到這一點。 – 2012-02-12 17:36:31

+0

感謝您的建議瑞克。 – 2012-02-13 05:30:09

1

爲了您的過濾器,你可以使用:

「(createdOn> = P1)& &(createdOn < = P2)」

,你必須設置的參數p1和p2是開始和結束Date S中日的問題。