Php strtotime未显示有效日期


Php strtotime not showing the valid date

我有一个列类型为DATETIME的mysql表,我希望它像2013年8月19日那样显示。所以我试过

echo $date = date('Y-m-d H:i:s');
echo '<br/>';
echo date('y  M ,Y',strtotime($date));

我得到的输出是

2013-08-19 22:47:12
13 Aug ,2013

我试过

$datetime = DateTime::createFromFormat('Y-m-d', '2013-08-19');
echo $datetime->format('yM,Y');

但它也输出了错误的日期2013年8月13日任何人都面临过同样的问题。

y是两位数的年份,您需要d,它是天。另请参阅文档。

您使用y两次:

echo $date = date('Y-m-d H:i:s');
echo '<br/>';
echo date('d  M ,Y',strtotime($date));

对我来说,它似乎正在做它应该做的事情——但你传递给date()和dateTime->format()的格式说明符看起来很奇怪——'y'以2位数返回年份,'y'以4位数返回年份。你的意思是说你想要在一个月的哪一天输出?

尝试用"d"或"j"代替"y"。