在PHP中的日期格式之间转换给出错误

时间:2014-03-04 10:06:40

标签: php mysql date datetime calendar

我检索的数据库日期格式是

 $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):遇到非正确的数值

如果有人能抓住,请帮助我获得正确的价值

7 个答案:

答案 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));