2012-05-21 39 views
6

Tôi đang cố gắng so sánh một số ngày cho một ParseQuery. Nó không cho tôi lỗi nhưng nó không lọc ngày tháng. Dưới đây là một số mã:So sánh các ngày với Parse.com

if(dateFrom!=null){ 
     query.whereLessThanOrEqualTo("from", dateFrom); 
    } 
    if(dateTo!=null){ 
     query.whereGreaterThanOrEqualTo("to", dateTo); 
    } 

ngày là java.util.Date (không sql)

Date dateFrom = new Date(fromYear,fromMonth,fromDay,fromHour,fromMinute); 

    Date dateTo = new Date(toYear,toMonth,toDay,toHour,toMinute); 

khi tôi nhìn vào ParseObjects tôi trên parse.com, tôi thấy các đối tượng có một dateFrom và dateTo .

Ai đó có thể cho tôi biết lý do tại sao bộ lọc không lọc? Cảm ơn bạn

+0

Bạn đã bao giờ tìm thấy câu trả lời cho điều này chưa? –

+0

Chưa thực sự .. Tôi chỉ lọc nó sau đó bây giờ Tôi sẽ hỏi nó cho những người ở Parse. Nếu tôi nhận được câu trả lời, tôi sẽ đặt nó lên đây – dumazy

+1

Nếu bạn không tìm thấy câu trả lời cho điều này: Tôi tin rằng các ràng buộc truy vấn của bạn bị đặt sai, bạn phải có ít hơn hoặc bằng 'dateTo' và lớn hơn hoặc bằng cho 'dateFrom'. –

Trả lời

3

Tôi đã thử nghiệm tính năng So sánh ngày hoạt động với SDK Javascript.

(word là một mô hình phân tích cơ bản)

var d = new Date(); 
var word = new Word();   
word.set("dateTo", new Date (2012, 01, 01)); 
word.save();   

var dateTo = new Date (2012, 12, 31); 

var query = new Parse.Query(Word); 
query.greaterThan("dateTo", dateTo); 

query.find({ 
    success: function(results) { 
    alert("Successfully retrieved " + results.length + " scores."); 
    }, 
    error: function(error) { 
    alert("Error: " + error.code + " " + error.message); 
    } 
}); 

Là một workaround bạn luôn có thể chuyển ngày của bạn vào giây như Date.getTime() và sử dụng số nguyên cho việc so sánh.

liên quan