First, to answer your specific questions:
All abbreviated identifiers should be considered obsolete. They are insufficient to identify a specific time zone while preserving all the details. For example, you can see all locations that use Central European Time here . Some of them use CET all year round, and some of them use CET in winter, but CEST in summer. Of these, not all of them use the same daylight saving time or have the same time zone offsets throughout their history. There is not enough information in the CET to decide which set of rules to use.
It is relatively safe to use GMT or UTC , as they are unambiguous. However, it would be more correct to use Etc/GMT or Etc/UTC . If you chose only one, IMHO, it should be Etc/UTC .
CET should be considered obsolete, along with other abbreviations, as I mentioned. However, it is worth noting that some abbreviations (for example, CET ) come from the TZ database, and some (for example, AST ) come from the Java legacy. This difference is important because only TZDB data is useful in data that can be transmitted elsewhere and interpreted by non-Java based systems.
It should be noted that the abbreviations US PST and CST NOT in TZDB, although MST and EST .Instead of CET you should choose which local time zone applies to your scenario. If you are talking about France, use Europe/Paris . If you are talking about Poland, use Europe/Warsaw etc.
Then understand that the underlying TZ Database has several types of identifiers that are acceptable to use:
Location based on Area/Locality form
- Example:
America/New_York , Europe/London , Pacific/Honolulu
Location based on Area/Region/Locality
- Example:
America/Argentina/Buenos_Aires , America/Indiana/Knox
Administrative zones in the Etc namespace:
- Example:
Etc/UTC , Etc/GMT+2 , Etc/GMT-5 - +/- based on POSIX standards contrary to the commonly expected ISO standard
- Commonly used for ships at sea
It also has several forms that are an artifact of history and should NOT be used anymore:
The location is based on a Country or Country/StateOrRegion
- Example:
US/Pacific , US/Hawaii , Brazil/East , Canada/Newfoundland , Egypt , Cuba
Continental US POSIX Identifiers:
- Example:
EST5EDT , CST6CDT , MST7MDT , PST8PDT
Abbreviations - some of them anyway
- Example:
EST , EET , PRC , WET
In addition, Java previously expanded these identifiers to include additional abbreviations that are NOT part of the TZ database. I managed to find them in the list here , as links to their respective modern TZ database identifiers:
Link Australia/Darwin ACT Link Australia/Sydney AET Link America/Argentina/Buenos_Aires AGT Link Africa/Cairo ART Link America/Anchorage AST Link America/Sao_Paulo BET Link Asia/Dhaka BST Link Africa/Harare CAT Link America/St_Johns CNT Link America/Chicago CST Link Asia/Shanghai CTT Link Africa/Addis_Ababa EAT Link Europe/Paris ECT Link America/New_York EST Link Pacific/Honolulu HST Link America/Indianapolis IET Link Asia/Calcutta IST Link Asia/Tokyo JST Link Pacific/Apia MIT Link America/Denver MST Link Asia/Yerevan NET Link Pacific/Auckland NST Link Asia/Karachi PLT Link America/Phoenix PNT Link America/Puerto_Rico PRT Link America/Los_Angeles PST Link Pacific/Guadalcanal SST Link Asia/Saigon VST
Of course, these mappings may or may not be self-confident, but they are reportedly used by the TZUpdater Java tool to support support for these legacy Java time zone abbreviations.
source share