我在数据库中分别设置了日期和时间。 start
采用YYYY-MM-DD格式,time
采用HH:MM:SS格式。我正在尝试修改开始日期以便以可读格式显示日期。
我尝试使用php输出,我得到“1969年12月31日星期三”,这与我想要的完全不同。 (格式正确,但日期不是我在数据库中的任何内容)。
我已经使用了DATE_FORMAT('start','%W, %M %d %Y') AS start
,但我的select函数按start
排序,并没有给出正确的顺序和指定的值。但格式是对的。
我的PHP代码是
$sql = "SELECT `title`, `time`, `start`, `showFeed` FROM calender WHERE length('column') > '0' and showFeed=1 ORDER BY `start` ASC LIMIT 0,4";
/* DATE_FORMAT(`start`,'%W, %M %d %Y') AS start */
$result = $dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC);
echo "<div class=\"eventfeed\">";
echo "<ul>";
foreach ($result as $row){
$dt = $row['start'];
$ts = $row['time'];
$date = strtotime( $dateout );
$dateout = date( 'l, M j Y', $phpdate );
echo "<dl>";
echo "<dt>". $row['title']. "</dt>";
echo "<dd>". $dateout;
echo "</dl>";
}
echo "</ul>";
echo "</div>";
$dbh = null;
我不知道我做错了什么。我之前已经这样做了,由于某些原因,这次格式化日期不起作用。
答案 0 :(得分:1)
试试这个:
<?php
$dt = $row['start'] . ' ' . $row['time'];
echo date('l, M j Y', strtotime($dt));
我不确定这只是一个错字,或者它是否是您的代码,但是 - 您在设置之前引用了$dateout
,而$phpdate
从未设置过。