2017-01-02 4 views
0

Ich bin Newbie zu Mongodb, habe ich einige Probleme beim Abfragen der Datenbank die Dokumente auf dem aktuellen Datum abrufen. Während das Dokument Datenbank zu speichern, ich das billingDate FeldAbrufen der Dokumente aus der Sammlung von Mongo db basierend auf dem heutigen Datum

SimpleDateFormat sdf=new SimpleDateFormat("MM/dd/yyyy"); 
sdf.setTimeZone(TimeZone.getTimeZone("GMT")); 
Date d = sdf.parse(billingDate); 

Also das Datumsfeld meiner Datenbank setze unter Verwendung ist:

"billingDate" : ISODate("2017-01-02T00:00:00Z") 

Ich habe versucht, wie folgt abfragen:

Query query=new Query(); 
query.addCriteria(Criteria.where("billingDate").lte(new java.util.Date())); 

Durch Ausführen der obigen Abfrage bekomme ich die vorherigen Rechnungen, aber ich brauche nur für heute (ich möchte nicht den Zeitstempel darin berücksichtigen). Bitte helfen Sie mir, nur die aktuellen Rechnungen zu erhalten. Irgendwelche Vorschläge wären nennenswert.

+0

Welche Jdk-Version verwenden Sie? – Veeram

+0

Jdk-Version ist 1.8. – Manju

Antwort

1

Sie können so etwas wie dies versuchen. Dadurch erhalten Sie das aktuelle Datum mit der Uhrzeit, die in UTC auf Mitternacht eingestellt ist.

LocalDate localDate = LocalDate.now(); 
LocalDateTime localDateTime = LocalDateTime.of(localDate, LocalTime.MIDNIGHT); 
Instant instant = localDateTime.toInstant(ZoneOffset.UTC); 
Date date = Date.from(instant); 
+0

Hallo Sagar, danke für deine Antwort. Dein Code funktionierte teilweise für mich, denn ich bekomme die Rechnungen für heute und auch die Rechnungen für zukünftige Termine :-(Also wie soll ich meinen Code ändern um nur dafür zu bekommen heute ohne Zeitstempel und die zukünftigen Daten – Manju

+0

Die Antwort, die ich zur Verfügung gestellt habe, nimmt keine Zeitstempel in Anspruch.So bin ich nicht sicher, was Sie mit "nur für heute ohne Zeitstempel" meinen.Können Sie einige Beispiele zum Beitrag hinzufügen und ich kann meine Antwort entsprechend aktualisieren? – Veeram

+0

Vielen Dank für Ihre schnelle Antwort Sagar :-) Ja, das ist in Ordnung, aber ich bekomme die Rechnungen von zukünftigen Daten auch, also lassen Sie mich bitte wissen, wie es vermieden werden kann. – Manju

Verwandte Themen