Bạn phải đặt múi giờ thành UTC khi sử dụng DateFormat để phân tích cú pháp chuỗi ngày.
Ngoài ra, bạn có thể sử dụng Instant trong Java 8.
Tôi đã đưa ra cả hai ví dụ.
endDate sử dụng dateFormatter với múi giờ được đặt thành UTC
startDate sử dụng Instant
Một cái gì đó giống như
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");