出典:こんにちは学習ネットワーク敏感と熱心なフォーラムはwww.piaodoo.comお互いから学ぶことを歓迎します
ユーザのログイン時間帯でのクロスアプリケーションタイムゾーンを、達成するためにPHPは自分のタイムゾーンの時刻を参照するだけでなく、タイムゾーンを切り替えることができるようにする必要があります。
ここでの考え方は、対応する表示領域におけるユーザーのログは、ユーザーの時間に応じたときに保存されているすべてのシステム時刻は、GMT(UTC)時間であるということです。
参照にPHPの関数を使用して、時間について:PHPの時間関数の用途が詳しく説明します。タイムゾーンにPHPを設定するためここでは初見。フレキシブル比較PHPの設定方法は、コード、コールを介して、php.iniのdate.timezoneでプロパティで提供することができるini_set(‘date.timezone', ‘')
セット、関数を使用することができるdate_default_timezone_set()
のhtaccessファイルを、または配置されています。
デフォルトのタイムゾーンサーバ、および私たちは一致していない時間帯を設定したい、と我々は唯一のコードによって、グローバルタイムゾーンの設定を変更する権限を持っていない場合。
PHPは、便利な機能を提供gmdate()
私たちは、サーバーのタイムゾーン設定を気にし、常にGMT時間を得ることはありません、私の考えは、この機能に基づいています。
このフレームワークでは、私はこのヘルパー関数の日付の枠組みの中で、CodeIgniterのプロジェクトを使用するには、いくつかの便利を提供し、複数のタイムゾーンケース処理アプリケーションを使用することができます。
これはnow()
、常にリターンは現在の時刻をGMT、local_to_gmt()
ローカルタイムGMT時間に変換することができ、gmt_to_local()
あなたがGMT時間に変換することができますすることは現地時間です。
典型的なシナリオを考えてみます。
ユーザのログイン後、現在の時刻を表示します。これは、我々が使うことができるものであるnow()
GMT標準時間を取得するために、次に使うgmt_to_local()
ユーザーのタイムゾーンに関数を。
ユーザーの時間を公開します。ユーザーは、我々が直接データベースに格納されていないことができ、あなたが使用する必要があり、時間の「2010年7月10日夜6時30分00秒」を発行したlocal_to_gmt()
ので、システム全体が一貫してその時間を確保するよう、データベースに保存されている標準時間をGMTの変換を。
これら2つの関数の詳細については、実際には、タイムゾーンに基づいており、それに対応する操作が来ます。時間の計算は、あなたはまた、夏時間を考慮することができますが、タイムゾーンの夏時間は、時間の開始時刻と終了時刻を保存するとき、あなたは自分自身を維持する必要があります。
CodeIgniterのは、タイムゾーンのより完全なリストを提供していtimezone_menu()
ますが、タイムゾーンのドロップダウンリストを表示することができますが、このリストはPHP自身のタイムゾーンに正確に対応していない時には、これが問題のPHPそのものであるが、以下によります各時間帯の入力を可能とする機能は、対応するタイムゾーンのテキストを取得することができます。
(!function_exists( "tz_offset_to_name"))であれば { / * * / GMTは(時間で)オフセットとタイムゾーンの名前を返す取り 機能tz_offset_to_name($オフセット) { $オフセット* = 3600; 秒にオフセット//変換の時間 $ abbrarray = timezone_abbreviations_list(); foreachの($ abbrarray略称$など) { foreachの($ $都市として略称) { IF($都市[ 'オフセット'] == $オフセット) { リターン$都市[ 'timezone_id']。 } } } FALSEを返します。 } }
概要
この記事のためにすべてのことだ、私はサポート敏感で、熱心なフォーラム/こんにちは学習ネットワークをありがとう、この論文の内容は習得したり、作業するために私たちのすべてのための学習のいくつかの基準値を持っている願っています。あなたが詳細をお知りになりたい場合は、下記の関連リンクを参照してください。
元のアドレスは次のとおりです。http://www.piaodoo.com/thread-3547-1-1.html