Sie müssen die Zeitzone auf UTC setzen, wenn Sie DateFormat verwenden zum Analysieren von Datumsangaben.
Alternativ können Sie Instant verwenden in Java 8.
Ich habe beide Beispiele gezeigt.
endDate mit dateFormatter mit eingestellter Zeitzone auf UTC
startDate mit Instant
So etwas wie
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");