function system_time_zones

Generate an array of time zones and their local time&date.

Parameters

$blank: If evaluates true, prepend an empty time zone option to the array.

4 calls to system_time_zones()
Date::buildOptionsForm in drupal/core/modules/views/lib/Drupal/views/Plugin/views/field/Date.php
Default options form that provides the label widget that all fields should have.
system_regional_settings in drupal/core/modules/system/system.admin.inc
Form builder; Configure the site regional settings.
system_user_timezone in drupal/core/modules/system/system.module
Add the time zone field to the user edit and register forms.
_install_configure_form in drupal/core/includes/install.core.inc
Form constructor for a site configuration form.

File

drupal/core/modules/system/system.module, line 3507
Configuration system that lets administrators modify the workings of the site.

Code

function system_time_zones($blank = NULL) {
  $zonelist = timezone_identifiers_list();
  $zones = $blank ? array(
    '' => t('- None selected -'),
  ) : array();
  foreach ($zonelist as $zone) {

    // Because many time zones exist in PHP only for backward compatibility
    // reasons and should not be used, the list is filtered by a regular
    // expression.
    if (preg_match('!^((Africa|America|Antarctica|Arctic|Asia|Atlantic|Australia|Europe|Indian|Pacific)/|UTC$)!', $zone)) {
      $zones[$zone] = t('@zone', array(
        '@zone' => t(str_replace('_', ' ', $zone)),
      ));
    }
  }

  // Sort the translated time zones alphabetically.
  asort($zones);
  return $zones;
}