比较android中parse.com上的createdAt字段与date only(而非datetime)

比较android中parse.com上的createdAt字段与date only(而非datetime),android,date,parse-platform,Android,Date,Parse Platform,我正在我的一个应用程序中使用parse.com。我可以在parse中插入/获取数据。一切正常。但我想使用createdAt字段来获取数据 我有两个问题 获取今天创建的记录 获取今天之前创建的记录 问题是parse使用日期时间比较createdAt字段,所以我不能在查询参数中使用new date()。有没有办法只按日期比较createdAt字段 这个问题和我的相似。但是有什么标准的方法吗 据我所知,您需要一个类似关键字“like”的函数,该函数在数据库中用于检查列中是否存在子字符串。所以,我们在P

我正在我的一个应用程序中使用parse.com。我可以在parse中插入/获取数据。一切正常。但我想使用createdAt字段来获取数据

我有两个问题

  • 获取今天创建的记录
  • 获取今天之前创建的记录
  • 问题是parse使用日期时间比较createdAt字段,所以我不能在查询参数中使用new date()。有没有办法只按日期比较createdAt字段


    这个问题和我的相似。但是有什么标准的方法吗

    据我所知,您需要一个类似关键字“like”的函数,该函数在数据库中用于检查列中是否存在子字符串。所以,我们在Parse的Android API中有一个方法

    为此,您需要调用
    whereContains(字符串键、字符串子字符串)
    这将添加一个用于查找包含所提供字符串的字符串值的约束

    所以,你可以这样写:

    query.whereContains(“createdAt”,“25-05-2015”)

    这将只检索属于此日期的数据,不包括时间

    文件参考:

    编辑:

    由于createdAt列是日期类型,因此它只接受日期变量。在这种情况下,上述功能将无法工作。因此,要实现这一目标,我们必须使用
    大的地方和
    小的地方。示例代码段是:

    Date midnight = new Date();
    midnight.setHours(0);
    midnight.setMinutes(0);
    midnight.setSeconds(0);
    
    Date elevenfiftynine = new Date();
    elevenfiftynine.setHours(23);
    elevenfiftynine.setMinutes(59);
    elevenfiftynine.setSeconds(59);
    
    query.whereGreaterThan(Constants.CREATED_AT_KEY, midnight);
    query.whereLessThan(Constants.CREATED_AT_KEY, elevenfiftynine);
    

    参考:

    使用此方法会得到什么结果@凯塔纳赫尔斯里对延误表示歉意<代码>whereContains
    不适用于日期。这是弦的。我找到了一个解决方案,很快就会在这里发布。我找到了一些方法。你可能想重新检查我的答案。这正是我发现的,对我来说很有效。无论如何,谢谢。