Thursday, October 16, 2025
HomeLanguagesHow to generate a drop down list of timezone using PHP ?

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.




<?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>';
  
?>


Output:

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




<?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>";
  
?>


Output:

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




<?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>";
?>


Output:

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

RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS