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

时间:2016-09-23 10:42:03

标签: php

我的代码:

   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

4 个答案:

答案 0 :(得分:1)

如果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

答案 1 :(得分:0)

如果您想显示日期 - 月 - 年,您可以应用此

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

答案 2 :(得分:0)

我强烈建议您使用DateTime类:

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

如果您查看PHP manual for DateTime,您可以获得有关如何进一步利用此课程的其他许多非常好的提示。这使得使用PHP中的日期比使用旧函数更容易。 ;)

答案 3 :(得分:0)

我认为您应该使用此代码来获取确切的日期格式。

$ orig_date =&#34; 22/09 / 2016&#34;;

$ date = str_replace(&#39; /&#39;,&#39; - &#39;,$ orig_date);

回音日期(&#39; Y-m-d&#39;,strtotime($ date));

查看更多date and time format example here