【问题标题】:Php date format is outputting the wrong datephp日期格式输出错误的日期
【发布时间】:2012-04-21 22:22:21
【问题描述】:

我在数据库中分别设置了日期和时间。 start 采用 YYYY-MM-DD 格式,time 采用 HH:MM:SS 格式。我正在尝试修改开始日期以以可读格式显示日期。

我尝试使用 php 进行输出,但我得到了“1969 年 12 月 31 日,星期三”,这与我想要的完全不同。 (正确的格式,但日期不是我在数据库中的任何内容)。

而且我使用了DATE_FORMAT('start','%W, %M %d %Y') AS start,但我的选择函数按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;

我不知道我做错了什么。我以前做过,但由于某种原因,这次格式化日期不起作用。

【问题讨论】:

    标签: php mysql html


    【解决方案1】:

    试试这个:

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

    我不确定这是否只是一个拼写错误,还是您的代码,但是 - 您在设置之前引用了 $dateout,而从未设置过 $phpdate

    【讨论】:

      猜你喜欢
      • 2011-10-13
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多