PHP DateTime不允许使用日期格式
可能重复:PHP DateTime不允许使用日期格式,php,datetime,date,php-5.3,Php,Datetime,Date,Php 5.3,可能重复: 我有一个日期,如下所示,但DateTime函数不允许: $start = new DateTime('13/10/2012'); echo $start->format("Y-m-d"); 它允许所有其他方法,即使使用“10/13/2012”,但我不能更改它,因为这是我接收日期的格式 有什么想法吗 谢谢尝试DateTime::createFromFormat like $start = DateTime::createFrom
我有一个日期,如下所示,但DateTime函数不允许:
$start = new DateTime('13/10/2012');
echo $start->format("Y-m-d");
它允许所有其他方法,即使使用“10/13/2012”,但我不能更改它,因为这是我接收日期的格式
有什么想法吗
谢谢尝试DateTime::createFromFormat like
$start = DateTime::createFromFormat('d/m/Y', '13/10/2012');
尝试DateTime::createFromFormat,如
$start = DateTime::createFromFormat('d/m/Y', '13/10/2012');
您是否尝试过createFromFormat()
您是否尝试过createFromFormat()
根据文档,它只接受特定格式的日期,其中之一是“american month,day,year”,如果您提供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");
根据文档,它只接受特定格式的日期,其中之一是“american month,day,year”,如果您提供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");