sql >> Base de Datos >  >> NoSQL >> MongoDB

Spring-boot:la comparación de fechas de mongoDB no funciona

Debe configurar la zona horaria en UTC cuando use DateFormat para analizar cadenas de fechas.

Alternativamente, puede usar Instant en Java 8.

He mostrado ambos ejemplos.

endDate usando dateFormatter con la zona horaria establecida en 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");