从字符串创建新的日期时间

时间:2013-05-26 09:03:01

标签: php

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

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

我知道为什么我一直都会收到这个错误:

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

2 个答案:

答案 0 :(得分:55)

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

这是mm / dd / yyyy,这是美国人,而不是英国人

使用

DateTime::createFromFormat('d/m/Y', '23/05/2013');

答案 1 :(得分:29)

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

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

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

echo $newDate->format('Y-m-d');