2017-02-01 1 views
1

Webアプリケーション用にPHP/MySQLを使用しています。私は安全なユーザーのタイムゾーン(USER A)と、それぞれのデータベーステーブルフィールドのエントリとともにPHP timezone_identifiers_list()関数は、ユーザーが許可する異なるタイムゾーンを提供するのに非常に役立っています。ユーザーBは、このデータを照会する際に、自分のタイムゾーンに変換されたデータを必要とします。PHP/MySQLのタイムゾーン間での保存と変換

  1. のMySQLに変換:この変換のために私は2つの選択肢に直面しています、「01:00:私は(「2017年2月1日午後08時〇〇分00秒」、「00 00」CONVERT_TZを使用することができます')、しかし、関数は、CONVERT_TZ(' 2017-02-01 20:00:00 '、' Africa/Accra '、' Africa/Douala ')をサポートしていますが、timezone_identifiers_list()は' Africa /それは良い選択ではありません。
  2. PHPによる変換:データ行ごとに変換するためにUSER Aのデータがループされていることを考えると、私はまだPHPで変換を行うことを躊躇しています。

この変換を行うより良い方法があるかどうかを知りたいと思います。

+1

これは意見に基づいています。 PHPでそれをやってください! :-) –

+0

普遍的な時間に保存し、php datetimeオブジェクトで構築することを確認してください。 datetimeオブジェクトにローカルのタイムゾーンを指定することで、訪問者のブラウザでローカル時間を定義できます。リンクを参照してください:http://php.net/manual/en/class.datetime.php – Nitin

答えて

0

ベストプラクティスは、サーバとPHPアプリケーションをUTCタイムゾーンを使用し、決して変換を行わないように設定することです。

各ユーザーにタイムゾーン設定が付属しており、さらに各ユーザーのブラウザで自動的に設定されるため、フロントエンドアプリケーション内にMoment Timezoneなどのツールを活用できます。

+0

私は共有サーバー上にいるので、グローバルタイムゾーンを設定したくありません。私はdtabase administartionにはあまり適していませんが、これは私が目指していることです(私の説明でMySQLの抜け穴を表現すると私を容赦してください)。私はサーバーのセッションタイムゾーンに依存するのではなく、ユーザーAの日付をHTML5のタイムアウトフィールドで取得し、ユーザーAの選択したタイムゾーンと共に保存し、ユーザーBのタイムゾーンは、ユーザーBのタイムゾーンを、データベースに照会します。したがって、ユーザAの時間はより多くのものであり、2つのタイムゾーン(ユーザAおよびBのもの) –

関連する問題