2012-06-26 64 views

回答

1

createFromFormat你嘗試,createFromFormat()?

$start = DateTime::createFromFormat('d/m/Y', '13/10/2012'); 
1

試日期時間::像

$start = DateTime::createFromFormat('d/m/Y', '13/10/2012'); 
1

根據該文件,它僅接受以特定格式的日期,其中之一是「美國的月,日,年」,如果你提供13月份這顯然會失敗。

我總是儘量避免使用模糊格式的日期。在代碼中大多使用「2012-10-13」,而「2012年10月13日」使用面向用戶的日期。兩者都可以通過任何我有過經驗的日期格式化API可靠地解析。

但是當被迫使用模糊格式工作時,我手動解析它,而不是依賴於PHP的內置API,因爲我完全理解它將做什麼。例如:

list($day, $month, $year) = preg_split('/[^0-9]+/', '13/10/2012'); 
$start = new DateTime("$year-$month-$day");