从MySQL数据库显示日期

时间:2011-07-07 09:58:38

标签: php mysql datetime

我知道在SO中已经涵盖了很多,但我找不到我需要的确切解决方案,所以请耐心等待。 当用户向我的数据库提交条目时,我将日期和时间存储在名为date的DATETIME字段中。

现在,当我回复他们特定条目的发布日期时,我正在使用:

<p>Posted:<br /><?php echo $rsjobinfo['date'];?></p>

当然这显示的是完整的日期和时间,我只想显示2011年7月7日的内容。

所以在我的回声声明之上,我已经完成了这个:

$date = $rsjobinfo['date'];
$date = date('j F, Y');

如果我回显$ date,以正确的格式显示今天的日期,但我无法弄清楚如何将该格式应用于从数据库中提取的日期。如果我替换

  <p>Posted:<br /><?php echo $rsjobinfo['date'];?></p>

  <p>Posted:<br /><?php echo $date;?></p>

它只是回显今天的日期(虽然是我想要的格式),而不是数据库日期。

有人可以帮忙吗?

提前致谢, 丹

3 个答案:

答案 0 :(得分:6)

您需要将正确的日期传递给date()。请参阅http://php.net/manual/en/function.date.phphttp://php.net/manual/en/function.strtotime.php

$date = date('j F, Y', strtotime($rsjobinfo['date']));

答案 1 :(得分:3)

$date = date('j F, Y', strtotime($rsjobinfo['date']));

有关详细信息,请参阅以下文档:

答案 2 :(得分:2)

正如其他建议的那样,您应该使用PHP函数,如strtotime()date()

$date = $rsjobinfo['date'] ;
$dateToPrint = date('j F, Y', strtotime($date) ) ;
echo $dateToPrint ;

您还可以使用MySQL DATE_FORMAT()功能:

$sql = "SELECT ...
             , `date`
             , DATE_FORMAT(`date`, '%e %M, %Y') AS dateToPrint 
        FROM 
            ...
       " ;

$dateToPrint = $rsjobinfo['dateToPrint'] ;
echo $dateToPrint ;