Android 使用whereGreaterThanOrEqualTo(“updatedAt”,date)查询用户

Android 使用whereGreaterThanOrEqualTo(“updatedAt”,date)查询用户,android,parse-platform,Android,Parse Platform,我正在尝试使用以下查询从Parse数据库获取所有用户: ParseQuery<ParseUser> query = ParseUser.getQuery(); query.setCachePolicy(ParseQuery.CachePolicy.NETWORK_ONLY); Calendar calendar = Calendar.getInstance(); calendar.roll(Calendar.DATE, false); // roll one day

我正在尝试使用以下查询从Parse数据库获取所有用户:

ParseQuery<ParseUser> query = ParseUser.getQuery();
query.setCachePolicy(ParseQuery.CachePolicy.NETWORK_ONLY);
Calendar calendar = Calendar.getInstance();        
calendar.roll(Calendar.DATE, false); // roll one day back       
Date date = calendar.getTime();        
query.whereGreaterThanOrEqualTo("updatedAt", date);
编辑:

我也尝试过以下方法,但没有成功:

long DAY_IN_MS = 1000 * 60 * 60 * 24;
Date date = new Date(System.currentTimeMillis() - DAY_IN_MS);
query.whereGreaterThanOrEqualTo("updatedAt", date);
EDIT2:


我终于找到了问题所在-问题不是由返回空列表的查询引起的,而是由我的代码中的其他错误引起的。

您是否尝试调试正在创建的日期对象,以查看它是否是您期望的值?我刚刚尝试按照建议调试日期对象,发现两个版本的代码都正常工作现在我不明白什么,需要进一步调查。我唯一怀疑的是,当我在周六第一次测试代码时,代码没有工作,而今天工作的时间是星期天——可能是“calendar.roll(calendar.DATE,false);”计算的一些奇怪效果?我猜“新日期(System.currentTimeMillis()-DAY_IN_MS)”不应该有任何这样的效果???我已经测试了Calendar roll()方法,并且从一周的最后一天开始回滚时,一切都正常工作-不知道出了什么问题…很高兴代码已经开始工作。我相信您已经检查过了,但您确定有对象的更新日期介于周六和24小时之前吗?另外,我不记得日历是否使用本地时区或UTC时间,但Parse使用UTC,因此,如果日历使用本地时区,那么您的时间和解析时间之间可能存在偏移量。是的,我确信某些对象在通过查询条件时使用updatedAT。
long DAY_IN_MS = 1000 * 60 * 60 * 24;
Date date = new Date(System.currentTimeMillis() - DAY_IN_MS);
query.whereGreaterThanOrEqualTo("updatedAt", date);