从appngine按日期选择

时间:2014-02-25 17:46:20

标签: google-app-engine gwt

首先,我对不起英语。 我在gwt开发,我有appengine服务器。 我有问题 1)我如何按日期选择。 我写这个

    String query = "select key from " + MyClass.class.getName();
    Query q = pm.newQuery(query);
    String filter = "date<= 'Tue Mar 04 19:34:12 IST 2014'";
    q.setFilter(filter);
    int totalAgendaToNextWeekCounter += ((List<Integer>) q.execute()).size();

但是不行,我总是0。 谢谢大家

1 个答案:

答案 0 :(得分:0)

将date参数从字符串转换为java.util.Date会有所帮助,并将其作为查询参数传递,如下所示:

Query q = pm.newQuery(query);
int totalAgendaToNextWeekCounter = 0;
try {
    java.text.DateFormat dateformat = java.text.DateFormat.getDateInstance();
    java.util.Date paramDate = dateformat.parse("2014-03-04T19:34:12");
    String query = "select key from " + MyClass.class.getName();
    q.setFilter( "date <= :paramDate" );
    totalAgendaToNextWeekCounter = ((List<Integer>) q.execute(paramDate)).size();
}
catch (java.text.ParseException ex) {
    java.util.logging.Logger.getLogger(logName).severe("");
}
finally {
    q.closeAll();
}

这可能不适合您的程序,但重要的是不要将date参数作为字符串传递。