Codeigniter TimeZone 時區問題及 PHP 時區設定
我使用 Codeigniter 架構來搭建網站,使用 date ('Y-m-d h:i:s') 來擷取時間並存入資料庫,但是今天發現,存入的時間和我本地時間差好多。
因為時區不對導致時間和中國時間不一致,解決辦法一般有兩種:
(1)修改php.ini
[Date]; Defines the default timezone used by the date functions; http://php.net/date.timezonedate.timezone = PRC
修改後重啟 apache即可。
(2)在使用date() 之前使用date_default_timezone_set("Asia/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中一定有設定時區的配置。
查看發現: 檔案 application/config/MY_config.php中有如下設定:
只要改為date_default_timezone_set("Asia/Shanghai")即可。