與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。
您可以使用腳本通過與您的相同需求的用戶編寫的。爲什麼不? –
不,沒有辦法,因爲沒有真正的需要 –
@MarkBaker說什麼。像剛開始時那樣創建一個數組很簡單,只需將正確的信息放在那裏,而且你很好。 –