MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Spring-boot:il confronto delle date mongoDB non funziona

Devi impostare il fuso orario su UTC quando usi DateFormat per analizzare le date della stringa.

In alternativa puoi usare Instant in Java 8.

Ho mostrato entrambi gli esempi.

endDate utilizzando dateFormatter con fuso orario impostato su UTC

startDate usando Instant

Qualcosa come

DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS\'Z\'");
dateFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));

Date startDate,endDate;

startDate =  Date.from(Instant.parse("2017-10-06T00:00:00.000Z"));
endDate = dateFormatter.parse("2017-10-07T23:00:00.000Z");