php
  • mysql
  • timestamp
  • 2011-02-09 18 views 0 likes 
    0

    私は、DateAddedという名前のMySQLデータベース列を持っています。
    これを読みやすい日付/時刻としてエコーしたいと思います。ここ
    は、私が現在持っているコードの簡易版である:PHPの日付関数を使用してユーザーフレンドリーな日付を出力する

    $result = mysql_query(" 
        SELECT ListItem, DateAdded 
        FROM lists 
        WHERE UserID = '" . $currentid . "' 
        "); 
    while($row = mysql_fetch_array($result)) 
        { 
        // Make the date look nicer 
        $dateadded = date('d-m-Y',$row['DateAdded']); 
    
        echo $row['ListItem'] . ","; 
        echo $dateadded; 
        echo "<br />"; 
        } 
    

    日付関数を使用すると、出力ユーザーフレンドリー日付するための最良の方法ですか?外観を取るための

    おかげで、

    +0

    理想的にはDD-MM-YYYY(およびいや、2038+関係ありません) – Jamie

    答えて

    3

    2038年以降に出力する予定がない場合は、date()を使用しても問題ありません。

    それ以外の場合は、制限がないPHPのDateTimeを使用するか、mySQL's date formatting functionsを使用してデータベースで直接日付をフォーマットしてください。

    ただし、データベースにタイムスタンプを格納しているようです。 DATETIMEフィールドに切り替えることを検討しましたか?

    +0

    2038問題は修正されているようです。 64ビットのより大きなタイムスタンプでうまく動作します。 (今から20億年後の週末を計算するのは少し遅いですが) – mario

    +0

    @marioええ、別のY2Kバグになることはまずありません。しかし、私は彼が> 2038 *現在の日付で作業する必要がある場合(つまり、金融業界などの質問から完全にはずれない、信用計算機を考える...) –

    1

    ユーザーを表示するdate()を使用して結構です。

    DATEタイプをMySQLで使用していない理由はありますか?

    +0

    @alexこんにちは、MySQLでタイプが(私は簡単にデフォルトで設定するCURRENT_TIMESTAMPを使用することができます)TIMESTAMPです。私が$ row ['DateAdded']をエコーし​​た場合、それは表示されます。2011-02-09 14:47:45 – Jamie

    +0

    @Jamie Soundsは 'strtotime()'を最初に 'date()'に渡す前に必要です。 – alex

    1

    MySQLのDATE_FORMAT()を使用することがありました。
    http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

    関連する問題