0
我創建PHP的DateTime有一個這樣的字符串:日期時間createfromformat母鹿不行
$time = '19:14, 9 June 2016 (UTC)';
\DateTime($time);
,工作得非常好,但因爲時間來自外部的ressource,它有時無有效樣
$time = '19:14, 9 oktober 2016 (UTC)'; #oktober instead of october
然後DateTime以致命錯誤結束。爲了防止這種情況,我想在使用DateTime之前檢查時間字符串是否有效。我發現的唯一解決方案是使用DateTime::createFromFormat()
。我不太喜歡這個解決方案,因爲在新的DateTime()
我可以使用幾種格式,在createFromFormat
我必須檢查每種格式。
然而,第二個問題是,createFromFormat
甚至不承認我正確TIMESTRING:
$time = '19:14, 9 June 2016 (UTC)';
$valid = \DateTime::createFromFormat('H:i, d F Y (e)', $time);
返回false。但使用date()的格式返回完全相同的字符串:
echo date('H:i, d F Y (e)', time());
#12:14, 22 June 2016 (UTC)
您所在的地區的時區爲GMT + 7? –
爲什麼?腳本時區是utc – Asara
沒有它的工作時區,但它爲什麼不與時區一起工作是需要調查的東西... –