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




