Java SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss’Z'”) gives timezone as IST
You haven’t set the timezone only added a Z to the end of the date/time, so it will look like a GMT date/time but this doesn’t change the value. Set the timezone to GMT and it will be correct. SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss’Z'”); sdf.setTimeZone(TimeZone.getTimeZone(“GMT”));