我检索的数据库日期格式是
$event_date='2013-01-20';
我希望将此格式转换为这样 2013年1月1日
我试过这个
echo date('M d, Y',$event_date)
//but it is printing wrong value "Jan 01, 1970"
并给出错误: 注意事项(8):遇到非正确的数值
如果有人能抓住,请帮助我获得正确的价值
答案 0 :(得分:2)
您需要使用strtotime()
函数来正确设置日期格式,因为date()
函数需要第二个参数为时间戳
echo date('M d, Y',strtotime($event_date));
来自文档
该函数期望给出一个包含英文日期格式的字符串,并尝试将该格式解析为Unix时间戳(自1970年1月1日00:00:00 UTC以来的秒数),相对于给定的时间戳。现在,或者现在没有提供当前时间。
实时工作样本here
答案 1 :(得分:2)
date
要求第二个参数为时间戳http://php.net/date
http://php.net/strtotime是要走的路。
date('M d, Y', strtotime($event_date))
答案 2 :(得分:1)
你应该这样做:
echo date('M d, Y',strtotime($event_date));
答案 3 :(得分:1)
试试这个......
echo date('M d, Y',strtotime($event_date));
答案 4 :(得分:1)
如下所示
<?php $event_date='2013-01-20';
echo date('M d, Y', strtotime($event_date));
?>
答案 5 :(得分:1)
使用DateTime转换Dateformat
<?php
$event_date='2013-01-20';
$date = new DateTime($event_date);
echo $date->format('M d, Y');
答案 6 :(得分:1)
试试这个:
$event_date='2013-01-20';
echo date('M d, Y',strtotime($event_date));