2010-05-13 15 views
6

Gibt es einen Weg in Zend Framework oder Standard-PHP, um ein Land (mit Ländercode) zu einer Liste von Zeitzonen zuzuordnen? Als Beispiel versuche ich, die Google-Funktionalität zu replizieren, wenn ich nach "time in australia rectangle" suche, die alle Zeitzonen und Städte für dieses Land anzeigt.Land zu Zeitzonen in PHP/Zend Framework

+0

Könnte das hilfreich sein? http://zendframework.com/manual/en/zend.locale.date.datesandtimes.html#zend.locale.date.normalize – chelmertz

Antwort

11

Nicht sicher Zend_Date, aber nativen PHP kann man erkennen, wie von PHP5.3 tun mit

Beispiel:

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

Ausgänge:

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 
) 

Beachten Sie, dass das Land als zweibuchstabiger ISO 3166-1-kompatibler Ländercode geliefert werden muss. Offensichtlich bedeutet das, dass "uns" nicht dasselbe ist wie "US" (zumindest bekomme ich dann kein Ergebnis).

+0

Irgendeine Idee, wie man auf PHP 5.2 – flakerimi

+1

@Flakerim tut tut none sorry. Aber warum bist du immer noch auf 5.2? Es hat Ende des Lebens Unterstützung erreicht. Update :) – Gordon

+0

Ja, du hast Recht, aber wir müssen zuerst unsere IT aktualisieren :). Danke für die Antwort. – flakerimi