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