最近、インドの SP と統計データを確認する過程で、統計データにタイムゾーンの問題があることがわかった、とインターネット上の一部のネチズンが言っているのを見かけました。この記事では主に上記の問題について説明します。指定された日付の統計結果を取得するために相手に提供するインターフェースは、中国のタイムゾーンに従って制御されます。幸いなことに、国際タイムスタンプはデータベースに保存されているため、インターフェイスで発信者のタイム ゾーンを確認するだけで、正しい統計結果情報を取得できます。
ソリューション リファレンスは次のとおりです。つまり、SimpleDateFormat オブジェクトに基づいて、使用する必要がある現在のタイム ゾーンを明確にする必要があります。
SimpleDateFormat.setTimeZone(TimeZone);
// Java: long timeMs = System.currentTimeMillis(); System.out.println("long = " + timeMs); // current time zone SimpleDateFormat default = new SimpleDateFormat("yyyy-MM-dd HH:mm"); System.out.println(default.format(timeMs)); // +8:00 time zone SimpleDateFormat chinaFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); chinaFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00")); System.out.println("GMT+8:00 = " + chinaFormat.format(timeMs)); // +5:30 time zone SimpleDateFormat indiaFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); indiaFormat.setTimeZone(TimeZone.getTimeZone("GMT+5:30")); System.out.println("GMT+5:30 = " + indiaFormat.format(timeMs));
上記のメソッドを使用すると、時間テーブルと時間テーブルには 1 時間ごとに 1 つのレコードがあります。インドのタイム ゾーンは GMT 5:30 です。現在のテーブル構造に基づくと、30 分のデータ偏差の問題が発生します。したがって、この問題を解決するために、時間テーブルの統計粒度を 30 分に変更します。 。
[推奨コース:概要:
このブログは、タイム ゾーン ソリューションの重要なポイントに対する単純なソリューションです。このソリューションを使用する前提は、データベースには国際タイムスタンプが保存されているということです。 ###! ! !
絶対タイムスタンプに基づく時間ストレージのみで、タイムゾーンの問題はまったくありません。 ! !タイムゾーンは単なる表示の問題です。 ! ! 毎日少しずつ進歩しましょう~
MySQL ビデオ チュートリアル ]
以上が時間情報の節約に関する MySQL の提案の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。