How to generate a drop down list of timezone using PHP ?

The timezone_identifiers_list() function is used to generate a dropdown list of timezone with PHP. This function is used to return an indexed array containing all the timezone identifiers. The datetimezone object is sent as a parameter to the timezone_identifiers_list() function and it returns an indexed array on success or False on failure. This function is an alias of DateTimeZone::listIdentifiers() function.
The timezone_identifiers_list() function uses its timezone constants and country to display a list of timezone independently.
Such that the possible values for timezone constants are:

1 = AFRICA | 2 = AMERICA | 4 = ANTARCTICA | 8 = ARCTIC | 16 = ASIA | 32 = ATLANTIC | 64 = AUSTRALIA | 128 = EUROPE | 256 = INDIAN | 512 = PACIFIC | 1024 = UTC | 2047 = ALL | 4095 = ALL_WITH_BC | 4096 = PER_COUNTRY

Syntax:

array timezone_identifiers_list( int $datetimezone, string $country )

Example 1: This example illustrates how to select the timezone listed in dropdown using timezone identifiers.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
function select_Timezone($selected = '') {
  
    // Create a list of timezone
    $OptionsArray = timezone_identifiers_list();
        $select= '<select name="SelectContacts">
                    <option disabled selected>
                        Please Select Timezone
                    </option>';
          
        while (list ($key, $row) = each ($OptionsArray) ){
            $select .='<option value="'.$key.'"';
            $select .= ($key == $selected ? : '');
            $select .= '>'.$row.'</option>';
        
          
        $select.='</select>';
    return $select;
}
  
echo select_Timezone() . '<br>';
  
?>

chevron_right


Output:



Example 2: This example illustrates how to select the timezone listed in dropdown using timezone identifiers.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Create a timezone identifiers
$timezone_identifiers
    DateTimeZone::listIdentifiers(DateTimeZone::ALL);
  
echo "<select>";
  
echo "<option disabled selected>
         Please Select Timezone
      </option>";
  
$n = 425;
for($i = 0; $i < $n; $i++) {
      
    // Print the timezone identifiers
    echo "<option value='" . $timezone_identifiers[$i] . 
        "'>" . $timezone_identifiers[$i] . "</option>";
}
  
echo "</select>";
  
?>

chevron_right


Output:

Example 3: This example illustrates the dropdown with list of TimeZone using DateTimeZone::listIdentifiers (DateTimeZone::ALL) along with range() function.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
$timezone_identifiers
    DateTimeZone::listIdentifiers(DateTimeZone::ALL);
  
$Africa = range(0, 51);
$America = range(52, 198);
$Asia = range(211, 292);
$tz_stamp = time();
  
echo "<center><select style='padding:20px;
     font-family: Courier New, Courier, monospace;
     width: 450px;border:2px solid #a09;
     outline: none;'>";
  
echo "<option style='color:#FFF;font-family:Cambria;
          background-color:#a09;'><h3>Africa</h3>
      </option>";
  
foreach($Africa as $x) { 
    $tzone[$x] = date_default_timezone_set(
                        $timezone_identifiers[$x]);
      
    echo "<option>" . $timezone_identifiers[$x] .
            ' @ ' . date('P', $tz_stamp);"</option>";
}
  
echo "<option style='color:#FFF;font-family:Cambria;
        background-color:#a09;font-size:15px;'>
        <h3>America</h3></option>";
  
foreach($America as $x) { 
    $tzone[$x] = date_default_timezone_set(
                        $timezone_identifiers[$x]);
      
    echo "<option>" . $timezone_identifiers[$x] . 
            ' @ ' . date('P', $tz_stamp);"</option>";
}
  
echo "<option style='color:#FFF;font-family:Cambria;
        background-color:#a09;font-size:15px;'>
        <h3>Asia</h3></option>";
          
foreach($Asia as $x) { 
    $tzone[$x] = date_default_timezone_set(
                        $timezone_identifiers[$x]);
  
    echo "<option>" . $timezone_identifiers[$x] .
            ' @ ' . date('P', $tz_stamp);"</option>";
}
  
echo "</select></center>";
?>

chevron_right


Output:

Reference: https://www.php.net/manual/en/function.timezone-identifiers-list.php




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.