在JDOQL / Java / GAE中按日期时间查询

时间:2010-03-19 04:57:03

标签: java google-app-engine datetime jdoql

我正在研究GAE应用。我想查询数据存储区并检索startDate和endDate之间的所有记录。每条记录都有一个日期时间字段。我正在使用类似于此的查询(下面的代码是我很快抓到的东西 - 我不在我的开发者机器附近。):


Query query = pm.newQuery(Employee.class);
query.setFilter("lastName == lastNameParam");
query.setOrdering("hireDate desc");
query.declareParameters("String lastNameParam");

try {
    List results = (List) query.execute("Smith");
    if (results.iterator().hasNext()) {
        for (Employee e : results) {
            // ...
        }
    } else {
        // ... no results ...
    }
} finally {
    query.closeAll();
}

如何格式化日期以形成正确运行的查询?日期时间戳如何存储在数据存储区中?作为时间戳?完全格式化?我找不到任何关于此的信息。请帮忙。

2 个答案:

答案 0 :(得分:2)

根据google datastore low-level API,日期对象似乎可以在GAE中自由存储。因此,我认为使用java.util.Date(或javax.sql.Date,它不是完全显式)将完成这项工作。

答案 1 :(得分:0)

您还可以使用时间戳

query.setFilter("hiredate>1700215218");