我有一个列类型为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"。