date_create_from_format()没有返回正确的日期

时间:2019-02-21 23:05:13

标签: php date

我正在尝试使用以下方式更改此日期的格式:

$change_date = date_create_from_format("l# d M h:i a", "Friday, 22 Feb 09:00 AM ");
$new_date = date("d/m h:i", $change_date);
echo $new_date;

但是返回: 01/01 12:00

1 个答案:

答案 0 :(得分:2)

您的格式有误。由于“ AM”为大写字母,因此“ a”应为“ A”。理想情况下,您应该将#更改为,以正确匹配您的日期字符串。日期字符串上也有一个尾随空格,因此您需要trim。您也不能在$change_date上使用date,因为这是一个DateTime对象。相反,您需要使用format方法来获取所需的输出。试试这个:

$change_date = date_create_from_format("l, d M h:i A", trim("Friday, 22 Feb 09:00 AM "));
$new_date = $change_date->format("d/m h:i");
echo $new_date;

输出:

22/02 09:00

Demo on 3v4l.org