Home >Java >javaTutorial >Why Does `SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'')` Show IST Instead of GMT/UTC?

Why Does `SimpleDateFormat('yyyy-MM-dd'T'HH:mm:ss'Z'')` Show IST Instead of GMT/UTC?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-06 10:55:11361browse

Why Does `SimpleDateFormat(

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn