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