Php日期格式输出错误的日期

时间:2012-04-21 22:22:22

标签: php mysql html

我在数据库中分别设置了日期和时间。 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;

我不知道我做错了什么。我之前已经这样做了,由于某些原因,这次格式化日期不起作用。

1 个答案:

答案 0 :(得分:1)

试试这个:

<?php
$dt = $row['start'] . ' ' . $row['time'];
echo date('l, M j Y', strtotime($dt));

我不确定这只是一个错字,或者它是否是您的代码,但是 - 您在设置之前引用了$dateout,而$phpdate从未设置过。