タイムスタンプフィールドを持つMySQLデータベースがあります。テスト中は現在1つのエントリしかありませんが、
2010-02-20 13:14:09
私はデータベースから引き出して使用しています
echo date("m-d-Y",$r['newsDate'])
私の最終結果は次のようになります
12-31-69
理由を知っている人はいますか?
編集: editedit: その編集は無視してください...notepad++ の FTP アドオンがタイムアウトし、残念ながら同期できない場合にエラーが表示されません。
ベストアンサー1
のdate
関数はUNIX タイムスタンプ2番目のパラメータとして、DBから取得した日付をUNIXタイムスタンプに変換する必要があることを意味します。これは次のようにして実行できます。strtotime
:
$db = '2010-02-20 13:14:09';
$timestamp = strtotime($db);
echo date("m-d-Y", $timestamp);
そして、あなたは以下を得ます:
02-20-2010
'2010-02-20 13:14:09'
関数に文字列を渡しましたがdate
、その文字列は有効な UNIX タイムスタンプではありません。
'12-31-69
' は、おそらく1970-01-01
、あなたのロケールでは であり、 は1970-01-01
エポック、つまり 0 UNIX タイムスタンプに対応する日付です。