我知道在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>
它只是回显今天的日期(虽然是我想要的格式),而不是数据库日期。
有人可以帮忙吗?
提前致谢, 丹
答案 0 :(得分:6)
您需要将正确的日期传递给date()
。请参阅http://php.net/manual/en/function.date.php和http://php.net/manual/en/function.strtotime.php
$date = date('j F, Y', strtotime($rsjobinfo['date']));
答案 1 :(得分:3)
答案 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 ;