Discussion
Pegasystems Inc.
JP
Last activity: 1 Apr 2021 15:13 EDT
Use of Time Zone - "Asia/Tokyo" or "JST"
Hi,
Some developers wonder which time zone to use, either "Asia/Tokyo" or "JST". In this post, I am sharing the difference and why we should use one over the other.
- IANA Time Zone Database (tz database)
"America/New_York", "Europe/London", "Asia/Tokyo" - These name that consists of an Area and a Location, separated by a forward slash, are IANA Time Zone Database, often called "tz database". This is maintained in the open, by a group of volunteers, and has data on all the time zones of the world, going back to at least 1970. In many cases, it has information for years much earlier.
- "Asia/Tokyo" or JST
Always use "Asia/Tokyo" instead of JST, and use "America/New_York" instead of EST. This is actually not specific to Pega, but in general, stay away from abbreviations.
One quick reason for this is because, for example, EST is half of the New York time zone, effectively. It's always in standard time and it doesn't have the daylight saving part. Vice versa, EDT doesn't include standard time. We want the platform to handle summer time depending on current date time automatically, in which case we need "America/New_York". The second reason for this is, using the old three-letter designations are ambiguous. As a matter of fact, for compatibility with JDK 1.1.x, some other three-letter time zone IDs (such as "PST", "CTT", "AST") are also supported, but their use is deprecated because the same abbreviation is often used for multiple time zones (for example, "CST" could be U.S. "Central Standard Time" and "China Standard Time"), and the Java platform can then only recognize one of them. The third reason for this is its unreliability in Pega. Let me explain this below.
- Issue of using abbreviations (JST) in Pega
"JST", Japan Standard Time, is unique and there is no ambiguity like "CST". However, there are miscellaneous issues with using this in Pega. Here are two examples that I've recently found out. Let's say, current time is 7am on 1st of April, 2021 in Japan, and your Operator ID has "JST" as below.
Now, simply click the Date Time control and see what happens. You will find the defaulted current date time is not the one in Japan (4/1/2021 7:00am) but it shows UTC time (3/31/2021 10:00pm).
Also, if you click on "Today" button of bottom left, things get weirder. System picks date from Japan (4/1/2021), and time from UTC (10:00pm).
If you use "Asia/Tokyo" for your Time Zone, these issues won't happen and things will work correctly.
I have reported these issues and these will be fixed in the future version. That said, there are still some other possible issues in using "JST" and I would advise to use "Asia/Tokyo".
Thanks,