android - 如何在 Parse 中比较查询当前日期

标签 android parse-platform

我正在做 Parse + Android 应用程序。由于 parse 会自动为每个对象创建类型为 DatecreatedAt 字段,因此我想构建一个比较当前日期的查询。

这是我想做的事情:

ParseQuery<ParseObject> mealPlan = ParseQuery.getQuery("MealPlans");
mealPlan.whereEqualTo("created_at", current Date );

所以基本上我想检索今天创建的对象。

最佳答案

使用 whereEqualTo(),您只需查询恰好在 当前日期 创建的对象。您应该查询日期范围 >= 今天中午 12:00 和 < 明天中午 12:00(如果需要,或者 <= 今天晚上 11:59)。

使用 Parse 的 whereLessThan()whereGreaterThanOrEqualTo()

// First, get the two dates (start and end of day)
// You'll find many algorithms to calculate these, 
// but here's a quick and easy one:

Calendar cal = new GregorianCalendar();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);

// start of today
Date today = cal.getTime();

cal.add(Calendar.DAY_OF_MONTH, 1); // add one day to get start of tomorrow

// start of tomorrow
Date tomorrow = cal.getTime();

// Your query:
ParseQuery<ParseObject> mealPlan = ParseQuery.getQuery("MealPlans");
mealPlan.whereGreaterThanOrEqualTo("createdAt", today);
mealPlan.whereLessThan("createdAt", tomorrow);

注意:

上面显示的日期计算只是一个简单的计算,因为这里的原始问题是查询而不是计算日期。您会发现许多算法和库,例如 Joda-Time,它们也考虑了边缘情况和夏令时情况。

关于android - 如何在 Parse 中比较查询当前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34883330/

相关文章:

android - 读取服务中 Activity 存储的 SharedPreferences?

android - 在 Android 中启动 MediaRecorder 时出现 Start failed -16 错误

android - 如何初始化我的 BaseAdapter

email - 如何在 MailGun 上正确设置我的域?

swift - Q : How to Update Boolean Value?

ios - 提供的 Facebook session token 已过期或无效

java - 为 Android 应用程序设置服务器

android - 当我在线程运行时将 View 添加到其他 View 时强制关闭

swift - 缩略图图像未显示在 MKMapView 注释 View 中

iOS swift : Parse Invalid Session Token Error