¿Cómo generar una lista desplegable de zona horaria usando PHP?

La función timezone_identifiers_list() se usa para generar una lista desplegable de zonas horarias con PHP. Esta función se usa para devolver una array indexada que contiene todos los identificadores de zona horaria. El objeto datetimezone se envía como parámetro a la función timezone_identifiers_list() y devuelve una array indexada en caso de éxito o False en caso de error. Esta función es un alias de la función DateTimeZone::listIdentifiers().
La función timezone_identifiers_list() usa sus constantes de zona horaria y el país para mostrar una lista de zonas horarias de forma independiente.
De modo que los valores posibles para las constantes de zona horaria son:

1 = ÁFRICA | 2 = AMÉRICA | 4 = ANTÁRTICA | 8 = ÁRTICO | 16 = ASIA | 32 = ATLÁNTICO | 64 = AUSTRALIA | 128 = EUROPA | 256 = INDIO | 512 = PACÍFICO | 1024 = UTC | 2047 = TODOS | 4095 = TODOS_CON_BC | 4096 = POR_PAÍS

Sintaxis:

array timezone_identifiers_list( int $datetimezone, string $country )

Ejemplo 1: este ejemplo ilustra cómo seleccionar la zona horaria que aparece en el menú desplegable utilizando identificadores de zona horaria.

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

Producción:

Ejemplo 2: este ejemplo ilustra cómo seleccionar la zona horaria que se muestra en el menú desplegable utilizando identificadores de zona horaria.

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

Producción:

Ejemplo 3: Este ejemplo ilustra el menú desplegable con la lista de TimeZone usando DateTimeZone::listIdentifiers (DateTimeZone::ALL) junto con la función range().

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

Producción:

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

Publicación traducida automáticamente

Artículo escrito por VigneshKannan3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *