Home >Java >javaTutorial >Why Does `SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'')` Show IST Instead of GMT/UTC?
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") with Z Date String Format
When using the SimpleDateFormat constructor, you have set the date format as "yyyy-MM-dd'T'HH:mm:ss'Z'". The 'Z' character at the end of the format string indicates that the date/time is in the UTC/GMT timezone. However, you have encountered an issue where the output is displaying IST time zone instead of GMT/UTC.
This occurs because you have not explicitly set the time zone for the SimpleDateFormat object. While the 'Z' character signifies a date in the UTC/GMT timezone, it does not automatically adjust the date/time object to that timezone. To ensure the correct timezone is applied, you need to set the time zone using the setTimeZone method.
Solution:
To resolve this issue, you can explicitly set the time zone to GMT/UTC using the following code:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
By setting the time zone explicitly, the SimpleDateFormat object will accurately represent the date/time in the GMT/UTC timezone, and the output will display the correct time.
The above is the detailed content of Why Does `SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'')` Show IST Instead of GMT/UTC?. For more information, please follow other related articles on the PHP Chinese website!