2010-05-13 39 views
6

Có cách nào trong Zend Framework hoặc PHP mặc định để ánh xạ một quốc gia (sử dụng mã quốc gia) vào danh sách múi giờ không? Ví dụ: Tôi đang cố gắng sao chép chức năng của Google khi tìm kiếm "thời gian ở Úc hiện tại" hiển thị tất cả các múi giờ và thành phố cho quốc gia đó.Quốc gia vào múi giờ trong PHP/Zend Framework

+0

Đây có thể là trợ giúp không? http://zendframework.com/manual/en/zend.locale.date.datesandtimes.html#zend.locale.date.normalize – chelmertz

Trả lời

11

Không chắc về Zend_Date, nhưng PHP có nguồn gốc có thể làm điều đó như của PHP5.3 với

Ví dụ:

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

kết quả đầu ra:

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 
) 

Lưu ý rằng quốc gia phải được cung cấp dưới dạng mã quốc gia ISO 3166-1 gồm hai chữ cái. Rõ ràng, điều này có nghĩa là 'chúng ta' không giống như 'Mỹ' (ít nhất là tôi không nhận được kết quả sau đó).

+0

Bất kỳ ý tưởng nào về cách thực hiện trên php 5.2 – flakerimi

+1

@Flakerim nope xin lỗi. Nhưng tại sao bạn vẫn ở trên 5.2? Nó đã đạt đến sự hỗ trợ cuối đời. Cập nhật :) – Gordon

+0

Vâng, bạn phải, nhưng chúng ta cần phải nâng cấp CNTT của chúng tôi đầu tiên :). Cảm ơn về câu trả lời. – flakerimi

Các vấn đề liên quan