Codeigniter TimeZoneタイムゾーン問題及びPHPタイムゾーン設定
1520 ワード
私はCodeigniterのフレームを使ってウェブサイトを構築して、date('Y-m-d h:i:s')を使って時間を取得してデータベースに保存しますが、今日発見しました。
タイムゾーンが間違っているため、時間と中国時間が一致しなくなりました。解決方法は普通2つあります。
(1)php.iniを修正する
(2)ダテ()を使う前にダテを使うdefault_timezone_set(「アジア/Shanghai」)
中国地区には以下のようなパラメータが設置されています。
ファイルのアプリ/config/MY_config.phpには以下のような設定があります。
タイムゾーンが間違っているため、時間と中国時間が一致しなくなりました。解決方法は普通2つあります。
(1)php.iniを修正する
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC
修正後にapacheを再起動すればいいです。(2)ダテ()を使う前にダテを使うdefault_timezone_set(「アジア/Shanghai」)
中国地区には以下のようなパラメータが設置されています。
{ "cst", 0, 28800, "Asia/Chongqing" },
{ "cst", 0, 28800, "Asia/Chungking" },
{ "cst", 0, 28800, "Asia/Harbin" },
{ "cst", 0, 28800, "Asia/Kashgar" },
{ "cst", 0, 28800, "Asia/Macao" },
{ "cst", 0, 28800, "Asia/Macau" },
{ "cst", 0, 28800, "Asia/Shanghai" },
{ "cst", 0, 28800, "Asia/Taipei" },
{ "cst", 0, 28800, "Asia/Urumqi" },
{ "cst", 0, 28800, "PRC" },
{ "cst", 0, 28800, "ROC" },
しかし、codeigniterでは、dateを使うと、まだ時間が足りないことが分かります。だから、codeigniterには必ずタイムゾーンの設定があります。ファイルのアプリ/config/MY_config.phpには以下のような設定があります。
date_に変えたらdefault_timezone_set(「アジア/Shanghai」)で結構です。