この形式で特定の日付をデータベースに保存したい:
date('Y-m-d H:i:s')
日時データ型を使用すると、次のように出力されます。
2012-10-29 00:18:14
正しい出力が得られるかどうかを確認するために、挿入/更新の現在の日付と時刻を返すタイムスタンプをテーブルに追加すると、次のように返されます。
2012-10-29 07:18:14
私のフォーマットに何か問題があるのではないかと思います。
タイムゾーンの問題のように聞こえます。
date_default_timezone
またはdate.timezone
ini 設定を使用して、PHP に MySQL と同じタイムゾーンを使用させることができます。
MySQL のタイムゾーンは次のように表示できます。
select @@session.time_zone;
あなたは間違いなくこの形式を使用したい: date('Y-m-d H:i:s')
php マニュアル (http://php.net/manual/en/function.date.php) によると - "H" は 24 時間形式に使用され、"h" は 12 時間形式に使用されます。時間形式の場合、mysql は 24 時間制を使用します。MySQL の標準形式は「Ymd H:i:s」です。
ただし、ここではタイムゾーンに悩まされています。UTCから7時間だと思います。最初にタイムゾーンを設定してみてください:
date_default_timezone_set('UTC');
または任意のタイムゾーン。
TIMESTAMP
UTC (GMT)
http://dev.mysql.com/doc/refman/5.5/en/datetime.htmlに保存されていますDATETIME
が、そうではないため、違いがあります。