【问题标题】:Google App Engine, JDO, use Date in filterGoogle App Engine,JDO,在过滤器中使用日期
【发布时间】:2010-08-30 13:28:36
【问题描述】:

在我的应用程序中,我想从 Datastore 中获取一组实体,这些实体的 Date 字段设置为当前时刻之前的日期。

我确实意识到,其中一种方法是简单地将这些实体中的日期存储为long 值(以毫秒为单位)。

但实际上有没有办法将它们存储为Dates 并能够使用它们进行过滤?

我尝试过类似的东西 query.setFilter("dateField.before(dateParam)"); ,但是没用,简单的比较也没用。

提前致谢。

【问题讨论】:

    标签: java google-app-engine filter google-cloud-datastore java.util.date


    【解决方案1】:

    只需将dateField 声明为java.util.Date,然后使用

    query.setFilter("dateField < dateParam");
    query.declareParameters("java.util.Date dateParam");
    List<...> results = (List<...>) query.execute(new java.util.Date());
    

    在此处查看示例:http://code.google.com/appengine/docs/java/datastore/queriesandindexes.html

    【讨论】:

      【解决方案2】:

      康斯坦丁的解决方案给出:

      运算符

      在参数名称前添加一个冒号使其对我有用:

      q.setFilter("createdTime < :nowTime");
      List<...> result = (List<...>) q.execute(new java.util.Date());
      

      【讨论】:

        猜你喜欢
        • 2014-08-05
        • 2011-06-24
        • 2012-01-25
        • 1970-01-01
        • 2012-06-14
        • 2023-04-03
        • 2013-07-11
        • 2010-12-11
        • 2011-12-28
        相关资源
        最近更新 更多