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
- 2100 reads