2012-06-26 65 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");