ホームページ > バックエンド開発 > PHPチュートリアル > mysql の int 型の time フィールドが 8 時間も異なるのはなぜですか?

mysql の int 型の time フィールドが 8 時間も異なるのはなぜですか?

WBOY
リリース: 2016-06-23 14:11:32
オリジナル
956 人が閲覧しました

サプライヤーのクライアント ソフトウェアで各レコードをチェックした時間は正常でしたが、SQLyog を使用してバックグラウンドで直接チェックしたところ、クエリした時間フィールドが常に 8 時間遅かったことがわかりました。何が問題ですか?

次のステートメントを使用します。形式は 2013-05-25th 01:37:08 です。実際、このレコードの正しい時刻は 2013-05-25th 09:37:08 です。


SELECT DATE_FORMAT(FROM_UNIXTIME) (`table` .`time`),'%Y-%m-%D %h:%i:%s') AS `theTime` FROM table


ディスカッション (解決策) に返信

サーバーのタイムゾーン設定

について ただし、サプライヤーのクライアント ソフトウェアには問題はありません。

どうしても方法がない場合、mysql の現在時刻に 8 時間を加えて、int 型の時刻フィールドを 2013-05-25th 01:37:08 の形式で表示する方法。

MySQL サーバーにはいくつかのタイムゾーン設定があります:

· システムのタイムゾーン。サーバーは起動時にホストのタイムゾーンを決定しようとし、それを使用して system_time_zone システム変数を設定します。

· サーバーの現在のタイムゾーン。グローバル システム変数 time_zone は、サーバーが現在使用しているタイム ゾーンを表します。初期値は「SYSTEM」で、サーバーのタイムゾーンがシステムのタイムゾーンと同じであることを示します。初期値は --default-time-zone=timez オプションを使用して明示的に指定できます。スーパー権限がある場合は、次のステートメントを使用して、実行時にグローバル変数値を設定できます。






如果如果 如果如果 如果如果場合たらばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかばかかかし各クライアント接続には、session time_zone 変数によって指定される独自のタイムゾーン設定があります。初期値はグローバル変数 Time_zone と同じですが、次の文を使用して再設定できます。 session.time_zone;
タイムゾーン値は、「+10:00」や「-6:00」などの UTC オフセットを表す文字列です。 mysql データベースにタイムゾーン関連のテーブルを作成してロードした場合は、「ヨーロッパ/ヘルシンキ」、「米国/東部」、「MET」などの名前付きタイムゾーンを使用することもできます。値「SYSTEM」は、タイムゾーンがシステムのタイムゾーンと同じである必要があることを示します。タイムゾーン名は大文字と小文字を区別しません。

SELECT @@global.time_zone、@@session.time_zone


両方のフィールドにシステムが表示されます

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート