PHP で SQL タイムスタンプをフォーマットする 質問する

PHP で SQL タイムスタンプをフォーマットする 質問する

タイムスタンプフィールドを持つ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 タイムスタンプに対応する日付です。

おすすめ記事