0

データベースに日付と時刻を個別に設定しています。startYYYY-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;

何が間違っているのかわかりません。以前にこれを行ったことがありますが、何らかの理由で今回は日付の書式設定が機能しません。

4

1 に答える 1

1

これを試して:

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

それが単なるタイプミスなのか、それともあなたのコードなのかはわかりませんが、設定される$dateout前に参照していて$phpdate、設定されることはありません。

于 2012-04-21T22:25:38.300 に答える