2010-05-13 14 views
6

¿Hay alguna forma en Zend Framework o PHP predeterminado para mapear un país (usando el código de país) a una lista de zonas horarias? Como ejemplo, intento replicar la funcionalidad de Google cuando busco "hora en Australia ahora mismo", que muestra todas las zonas horarias y ciudades de ese país.País a zonas horarias en PHP/Zend Framework

+0

¿Podría ser de ayuda? http://zendframework.com/manual/en/zend.locale.date.datesandtimes.html#zend.locale.date.normalize – chelmertz

Respuesta

11
No

seguro de Zend_Date, pero nativa de PHP puede hacer que a partir de PHP5.3 con

Ejemplo:

print_r(DateTimeZone::listIdentifiers(DateTimeZone::PER_COUNTRY, 'US')); 

salidas:

Array 
(
    [0] => America/Adak 
    [1] => America/Anchorage 
    [2] => America/Boise 
    [3] => America/Chicago 
    [4] => America/Denver 
    [5] => America/Detroit 
    [6] => America/Indiana/Indianapolis 
    [7] => America/Indiana/Knox 
    [8] => America/Indiana/Marengo 
    [9] => America/Indiana/Petersburg 
    [10] => America/Indiana/Tell_City 
    [11] => America/Indiana/Vevay 
    [12] => America/Indiana/Vincennes 
    [13] => America/Indiana/Winamac 
    [14] => America/Juneau 
    [15] => America/Kentucky/Louisville 
    [16] => America/Kentucky/Monticello 
    [17] => America/Los_Angeles 
    [18] => America/Menominee 
    [19] => America/New_York 
    [20] => America/Nome 
    [21] => America/North_Dakota/Center 
    [22] => America/North_Dakota/New_Salem 
    [23] => America/Phoenix 
    [24] => America/Shiprock 
    [25] => America/Yakutat 
    [26] => Pacific/Honolulu 
) 

Tenga en cuenta que el país debe suministrarse como un código de país compatible con ISO 3166-1 de dos letras. Aparentemente, esto significa que "nosotros" no es lo mismo que "EE. UU." (Al menos no obtengo un resultado).

+0

Cualquier idea de cómo hacerlo en php 5.2 – flakerimi

+1

@Flakerim no lo siento. Pero, ¿por qué sigues estando en 5.2 de todos modos? Ha alcanzado el soporte al final de la vida. Actualización :) – Gordon

+0

Sí, tienes razón, pero tenemos que actualizar nuestra TI primero :). Gracias por responder. – flakerimi

Cuestiones relacionadas