concrete/src/Localization/Service/Date.php
public function getGroupedTimezones()
    {
        $groups = [];
        $generics = [];
        $genericGroupName = tc('GenericTimezonesGroupName', 'Others');
        foreach ($this->getTimezones() as $id => $fullName) {
            $chunks = explode('/', $fullName, 2);
            if (!isset($chunks[1])) {
                array_unshift($chunks, $genericGroupName);
            }
            list($groupName, $territoryName) = $chunks;
            if ($groupName === $genericGroupName) {
                $generics[$id] = $territoryName;
            } else {
                if (!isset($groups[$groupName])) {
                    $groups[$groupName] = [];
                }
                $groups[$groupName][$id] = $territoryName;
            }
        }
        if (!empty($generics)) {
            $groups[$genericGroupName] = $generics;
        }

        return $groups;
    }
public function getGroupedTimezones()
    {
        $groups = [];
        $generics = [];
        $genericGroupName = tc('GenericTimezonesGroupName', 'Others');
        foreach ($this->getTimezones() as $id => $fullName) {
            $chunks = explode('/', $fullName, 2);
            if (!isset($chunks[1])) {
                array_unshift($chunks, $genericGroupName);
            }
            list($groupName, $territoryName) = $chunks;
            if ($groupName === $genericGroupName) {
                $generics[$id] = $territoryName;
            } else {
                if (!isset($groups[$groupName])) {
                    $groups[$groupName] = [];
                }
                $groups[$groupName][$id] = $territoryName;
            }
        }
        if (!empty($generics)) {
            $groups[$genericGroupName] = $generics;
        }

        return $groups;
    }
public function getGroupedTimezones ( ) { $ groups = [ ] ; $ generics = [ ] ; $ genericGroupName = tc ( 'GenericTimezonesGroupName' , 'Others' ) ; foreach ( $ this -> getTimezones ( ) as $ id => $ fullName ) { $ chunks = explode ( '/' , $ fullName , 2 ) ; if ( ! isset ( $ chunks [ 1 ] ) ) { array_unshift ( $ chunks , $ genericGroupName ) ; } list ( $ groupName , $ territoryName ) = $ chunks ; if ( $ groupName === $ genericGroupName ) { $ generics [ $ id ] = $ territoryName ; } else { if ( ! isset ( $ groups [ $ groupName ] ) ) { $ groups [ $ groupName ] = [ ] ; } $ groups [ $ groupName ] [ $ id ] = $ territoryName ; } } if ( ! empty ( $ generics ) ) { $ groups [ $ genericGroupName ] = $ generics ; } return $ groups ; }
Returns the list of timezones with translated names, grouped by region.

@return array

@example
<pre>[
'Africa' => [
'Africa/Abidjan' => 'Abidjan',
'Africa/Addis_Ababa' => 'Addis Abeba',
],
'Americas' => [
'America/North_Dakota/Beulah' => 'Beulah, North Dakota',
],
'Antarctica' => [
'Antarctica/McMurdo' => 'McMurdo',
],
'Arctic' => [
...
],
'Asia' => [
....
],
'Atlantic Ocean' => [
....
],
'Australia' => [
....
],
'Europe' => [
....
],
'Indian Ocean' => [
....
],
'Pacific Ocean' => [
....
],
'Others' => [
'UTC' => 'Greenwich Mean Time (UTC)',
],
]</pre>

@see http://www.php.net/datetimezone.listidentifiers.php
Returns the list of timezones with translated names grouped by region .