2016-08-16 65 views
0

DateTimeZone::listIdentifiers()列出了PHP支持的所有時區非常相似,是否有辦法讓它輸出所有日期格式標識符的列表?如何以編程方式獲取PHP支持的日期格式列表?

格式列表在此頁面上可供參考:http://php.net/manual/en/function.strftime.php但是,我似乎無法找到一個內部函數,將其作爲數組返回。如果你看一下例子#4在該網頁上,你會發現,他們已經建立手動的格式和說明的數組:

$strftimeFormats = array(
    'A' => 'A full textual representation of the day', 
    'B' => 'Full month name, based on the locale', 
    'C' => 'Two digit representation of the century (year divided by 100, truncated to an integer)', 
    'D' => 'Same as "%m/%d/%y"', 
    'E' => '', 
    ... 

難道真的沒有辦法自動獲得這個名單?

更新:我的具體用例是模板。我在我的應用程序中提供了一種模板「語言」,我想在其他自定義標記中使用標準的PHP日期格式標識符,以便用戶可以按照他們想要的方式格式化日期。我的應用程序將收到帶有標籤的模板,例如%d%,%y%等,並且它將返回該值。

我反對認爲這是不必要的,因爲可以使用相同的參數來使PHP返回時區名稱列表。爲什麼不簡單地創建一個腳本,使其在時區偏移和時區名稱之間形成自己的關聯並使用它呢?爲什麼要讓編譯器/解釋器返回這些信息?

我甚至不認同這是一個邊緣案例,因爲有無數應用程序直接基於他們的基於PHP官方格式標識符列表的模板日期格式,例如。 MailChimp。

+0

您可以使用腳本通過與您的相同需求的用戶編寫的。爲什麼不? –

+5

不,沒有辦法,因爲沒有真正的需要 –

+0

@MarkBaker說什麼。像剛開始時那樣創建一個數組很簡單,只需將正確的信息放在那裏,而且你很好。 –

回答

0

有沒有內置函數來做到這一點,所以像這樣的功能必須做的:

function getDateFormatIdentifiers() { 
    return str_split('dDjlNSwzWFmMntLoYyaABgGhHisueIOPTZcrU'); 
} 
相關問題