MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Spring-boot:comparação de datas do mongoDB não está funcionando


Você precisa definir o fuso horário para UTC ao usar DateFormat para analisar datas de strings.

Alternativamente, você pode usar Instant em Java8.

Mostrei os dois exemplos.

endDate usando dateFormatter com fuso horário definido como UTC

startDate usando Instant

Algo como
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");