1

mysql エントリにタイムスタンプを使用しようとしていますが、20 時間後と表示されています。

mysql コマンド ラインに次のように入力すると、正しい時刻が表示されます (現在、東部標準時の午後 8 時 15 分です)。

SELECT NOW();

以下を使用してデータベースに何かを送信すると、時刻が午前 12 時 15 分と表示されることを除いて、すべてが正しくなります。

date('m/d/Y,h:i:a');

それが重要な場合、私のテーブルの列は varchar(20) です。

また、を使用して東部タイムゾーンに設定されていることを確認しようとしましたが、タイムゾーンが正しくないというエラーが発生しました。

SET time_zone = 'America/New_York'; 

データベースエントリで20時間ずれているのに、mysqlコマンドラインを使用して正しく表示されている時間を調べると、誰にも手がかりがありますか?

4

1 に答える 1

2

これは PHP のタイムゾーンの問題だと思います。PHP ini ファイルで設定したタイムゾーンを確認する必要があります。

[Date]
; Defines the default timezone used by the date functions
date.timezone = America/New_York

スクリプトでタイムゾーンを設定することもできます。

ini_set('date.timezone', 'America/New_York');

MySQL でタイムゾーンを変更しようとしていたようです。念のため、タイムゾーン設定 MySQL も確認する必要があります。

于 2012-04-05T00:27:34.187 に答える