php timezone_identifiers_list() и DateTimeZone::listAbbreviations() -какая разница ?
Primary tabs
DateTimeZone::listAbbreviations() с помощью вот такой функции:
function createTZlist() {
$tza = DateTimeZone::listAbbreviations();
$tzlist = array();
foreach ($tza as $zone)
foreach ($zone as $item)
if (is_string($item['timezone_id']) && $item['timezone_id'] != '')
$tzlist[] = $item['timezone_id'];
$tzlist = array_unique($tzlist);
asort($tzlist);
return array_values($tzlist);
}
возвращает куда больше временных зон, чем timezone_identifiers_list() - но почему это происходит так?
Дело, в том, что последняя функция вызвалась без обратно совместимых временных зон - иначе бы был получен обратный результат:
// php 5.6.10 $a1 = timezone_identifiers_list(DateTimeZone::ALL_WITH_BC); $a2 = createTZlist(); echo count($a1); // 583 echo count($a2); // 510
то есть timezone_identifiers_list() с параметром DateTimeZone::ALL_WITH_BC функция вернёт даже больше элементов. - вот это ($a1) вроде как и следует считать списком всех поддерживаемых временных зон PHP.
- Log in to post comments
- 2546 reads