|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #74835 Timezone abbreviations missing for some timezones (e.g. ICT)
Submitted: 2017-06-30 12:55 UTC Modified: 2019-02-06 21:22 UTC
From: 6ec883313e at gmail dot com Assigned:
Status: Not a bug Package: Date/time related
PHP Version: 7.1.6 OS:
Private report: No CVE-ID: None
 [2017-06-30 12:55 UTC] 6ec883313e at gmail dot com
Timezone is shown as an offset instead of an abbreviation when formatting DateTime using T format character in some specific timezones such as Asia/Bangkok or Asia/Oral. It seems to be broken since PHP 7.0.9. It worked well before.

Test script:
$now = new DateTime('now', new DateTimeZone('Asia/Bangkok'));
echo $now->format('T');

Expected result:

Actual result:


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2017-07-04 05:34 UTC]
-Status: Open +Status: Not a bug
 [2017-07-04 05:34 UTC]
This is not a bug but an intended behaviour from the underlying timezone-database. 6 months ago a lot of invented timezone-abbreviations where removed. "ICT" was one of them. As there is not an official abbreviation for the local timezone the abbreviation was removed and replaced with the offset. For details see

This shows: You should NEVER depend on timezone-abbreviations as they change!
 [2019-02-06 21:02 UTC] Sawickamonika at yahoo dot com
So how to display abbreviations for example for America/Sao_Paulo
or Asia/Dubai? There is no replacement timezone identifier which would have valid abbreviation for the same offset.
 [2019-02-06 21:22 UTC]
@Sawickamonika: America/Sao_Paulo and Asia/Dubai do not have abbreviations anymore. At all. You can't display abbreviations because there aren't any for them.
As an alternative, consider using the UTC+HH offset.
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Jul 20 16:01:29 2024 UTC