Ich versuche gerade, Datum einzufügen und zu finden, das in MongoDB eingefügt wird. Mir wurde klar, dass MongoDB das Datum in UTC umwandelt, während es in der Datenbank gespeichert wird. Ich benutze Javafx Datumsauswahl für die Auswahl Datum.Java Date zu MongoDB einfügen und finden
Diese meine Funktion ist Zeichenfolge bisher
public static Date setTime(String strdate,int ch){
int yr,mth,dt;
yr=Integer.parseInt(strdate.substring(0,4));
mth=Integer.parseInt((strdate.substring(5,7)));
dt=Integer.parseInt(strdate.substring(8,10));
Date date=new Date();
if(ch==0) {
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
date.setYear(yr - 1900);
date.setMonth(mth - 1);
date.setDate(dt);
}
else if(ch==1) {
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
date.setYear(yr - 1900);
date.setMonth(mth - 1);
date.setDate(dt+1);
}
return date;
}
Zur Lagerung
Date newdate=new Date();
String picked_date=""+date.getValue(); //date is DatePicker object
newdate= MyDateTime.setTime(picked_date,0);
Document doc=new Document();
doc.append("date",newdate);
coll.insertOne(doc);
Hier zum Konvertieren, ich bin Abrufen Filter mit
String findDate=""+datePicker.getValue();
Date startdate= MyDateTime.setTime(findDate,0);
Date nextdate=MyDateTime.setTime(findDate,1);
Bson filter=Filters.and(Filters.gte("date",startdate),Filters.lt("date",nextdate));
List<Document> ls = new ArrayList<Document>();
coll.find(filter).into(ls);
for (Document doc : ls
) {
System.out.println(doc.getDate("date").toString());
}
Nun ist das Problem betrachten wenn ich Datum von DatePicker wähle, bekomme ich "2017-03-10" Jetzt, wenn ich versuche das Datum mit "2017-03-9" zu finden, der Datensatz für den 10. März wird abgerufen und für "2017-03-10" wird noch der gleiche Datensatz abgerufen. Ich bin immer noch verwirrt, warum dasselbe Dokument für 9 und 10 Daten abgerufen wird.
Sie können die relevanten Dokumente hinzufügen, die Sie abfragen möchten. Was ist deine Java-Version? – Veeram
Ich benutze derzeit Java 8, und ich Frage auf eingelegtes Dokument, wo ich Datum speichern ... –