I use this time zone select:
<select id="TIMEZONE" name="TIMEZONE">
<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
foreach( $timezone_identifiers as $value ){
if ( preg_match( '/^(America|Antartica|Arctic|Asia|Atlantic|Europe|Indian|Pacific)\//', $value ) ){
$ex=explode("/",$value);//obtain continent,city
if ($continent!=$ex[0]){
if ($continent!="") echo '</optgroup>';
echo '<optgroup label="'.$ex[0].'">';
}
$city=$ex[1];
$continent=$ex[0];
echo '<option value="'.$value.'">'.$city.'</option>';
}
}
?>
</optgroup>
</select>
DateTimeZone::listIdentifiers
(PHP 5 >= 5.2.0)
DateTimeZone::listIdentifiers — Devuelve una matriz numérica con todos los identificadores de las zonas horarias
Descripción
Estilo orientado a objetos
public static array DateTimeZone::listIdentifiers
([ int $what = DateTimeZone::ALL
[, string $country = NULL
]] )
Estilo por procesos
Parámetros
- what
-
Una de las constantes de la clase DateTimeZone.
- country
-
Un código de país de dos letras compatible con ISO 3166-1.
Note: Esta opción sólo se usa cuando el parámetro what está establecido a DateTimeZone::PER_COUNTRY.
Valores devueltos
Devuelve una matriz si se tuvo éxito o FALSE en caso de error.
Historial de cambios
| Versión | Descripción |
|---|---|
| 5.3.0 | Añadidos los parámteros opcionales what y country. |
Ejemplos
Example #1 Un ejemplo de timezone_identifiers_list()
<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i=0; $i < 5; $i++) {
echo "$timezone_identifiers[$i]\n";
}
?>
El resultado del ejemplo sería algo similar a:
Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmara
chema at garridodiaz dot com
19-Feb-2010 10:50
