0

How can I make a query on Parse.com database to get only the entries that are maximum 1 hour old?

I have this code:

@Override
        protected Void doInBackground(Void... params) {

            String currentDateTimeString = DateFormat.getTimeInstance().format(new Date());
            ParseQuery<ParseObject> query = ParseQuery.getQuery("AlertsClass");
            query.orderByDescending("_created_at");
            query.whereGreaterThanOrEqualTo("_created_at", currentDateTimeString);
            try {
                ob = query.find();
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
}

But I am stuck. Can someone please help me to do this query properly?

Thank you!

user3641244
  • 177
  • 1
  • 13
  • A few things. 1. I believe it's "createdAt" not "_created_at" 2. Why are you overriding doInBackground? – RotaJota Oct 17 '14 at 14:37

1 Answers1

1

Something like this should work:

Date now = new Date());
long nowMillis = now.getTime();
long oneHourInMills = 3600000;
Date anHourAgo = new Date(nowMillis - oneHourInMillis);
ParseQuery<ParseObject> query = ParseQuery.getQuery("AlertsClass");
query.orderByDescending("createdAt");
query.whereGreaterThanOrEqualTo("createdAt", anHourAgo);
RotaJota
  • 831
  • 9
  • 14