PHP字符串日期返回错误的日期


php string date return wrong date

我的代码:

   echo "Strtotime : ";
   echo date("Y-m-d",strtotime('9 March, 2015'));
   echo "<br> mktime :  ";
   echo date("Y-m-d",mktime('9 March, 2015'));
   echo "<br> Normal :  ";
   echo date("Y-m-d",'9 March, 2015');

我需要输出2015-03-09

如果String的结构始终相同,则可以将DateTime与date_create_from_format一起使用:

$d = '9 March, 2015';
echo date_create_from_format('d F, Y', $d)->format('Y-m-d');

查看运行示例:https://3v4l.org/s8EHi

我强烈建议使用DateTime类:

$date = DateTime::createFromFormat ("d M, Y", "9 march, 2015");
echo $date->format ("Y-m-d");

如果您查看PHP手册中的DateTime,您可以获得关于如何进一步利用该类的许多其他非常好的技巧。这使得在PHP中处理日期比使用旧函数容易得多。div;)

如果你想显示日期-月份-年份,你可以应用这个

<?php 
echo date('Y-m-d');
?>

我认为你应该使用这段代码来获得确切的日期格式。

$orig_date = "22/09/2016";

日期=美元。大小写不敏感 ('/', '-', $ orig_date);

echo date('Y-m-d', strtotime ($date));

查看更多日期和时间格式示例