32

我有一个字符串'23/05/2013',我想从中创建一个新的日期时间对象,所以我做了:

new \DateTime('23/05/2013');

知道为什么我一直收到此错误:

DateTime::__construct(): Failed to parse time string (23/05/2013) at position 0 (2): Unexpected character
4

2 回答 2

66

根据http://www.php.net/manual/en/datetime.formats.date.php

是mm/dd/yyyy,是美式的,不是英式的

利用

DateTime::createFromFormat('d/m/Y', '23/05/2013');
于 2013-05-26T09:05:40.127 回答
35

如果你想正常使用对象而不是静态地尝试这个:

$datetime = new DateTime();
$newDate = $datetime->createFromFormat('d/m/Y', '23/05/2013');

然后你可以像往常一样使用它:

echo $newDate->format('Y-m-d');
于 2013-05-26T09:36:19.703 回答