[php-src] Issue #20323: timezone_abbreviations_list does not show correct abbreviation for Asia/Colombo
| From: | Slatery | Date: | Tue, 28 Oct 2025 22:39:29 +0000 |
| Subject: | [php-src] Issue #20323: timezone_abbreviations_list does not show correct abbreviation for Asia/Colombo | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-251141@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/20323
Author: Slatery
### Description
The following code:
```php
$abbreviations = timezone_abbreviations_list();
foreach ( $abbreviations as $abbreviation => $timezones ) {
foreach ( $timezones as $timezone ) {
if ( $timezone['timezone_id'] === 'Asia/Colombo') {
return $abbreviation;
}
}
}
<?php
```
Resulted in this output:
```
'MMT'
```
But I expected this output instead:
```
5:30
```
As per IANA raw data, Asia/Colombo (Sri Lanka) is supposed to be showing the numeric abbreviation,
however it instead shows the last text based abbreviation MMT which has not been used for over a
century, and can be confused with the geographically close Myanmar Standard Time (abbreviated as
MMT) which is an hour advanced of Colombo at +6:30. If a text based abbreviation must be used, then
Sri Lankan Standard Time (SLST) would be the most up to date and correct abbreviation.
### PHP Version
```plain
PHP 8.3.21 (cli) (built: May 9 2025 06:23:02) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.21, Copyright (c) Zend Technologies
with Zend OPcache v8.3.21, Copyright (c), by Zend Technologies
```
### Operating System
_No response_