首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP date() 時區錯誤完整解決:UTC/PRC/CST 設定與常見誤區

     編輯:PHP 相關知識

PHP 5.3+ 強制要求設定時區,否則所有時間函式拋出 E_WARNING。本文整理三種設定方式並釐清時區識別字元。

錯誤訊息

PHP Warning: date(): It is not safe to rely on the system's timezone settings.
You are *required* to use the date.timezone setting or the date_default_timezone_set() function.

三種設定方法(任選一)

1. 腳本開頭呼叫(最推薦,可攜性最強)

date_default_timezone_set('PRC'); // 或 'Asia/Shanghai'
echo date('Y-m-d H:i:s');

2. ini_set 設定

ini_set('date.timezone', 'Asia/Shanghai');

3. 修改 php.ini(需重啟服務)

date.timezone = PRC

時區識別字元對照

識別字元說明適用地區
PRCPeople's Republic of China中國大陸
Asia/Shanghai標準 IANA 時區上海/北京時間 (UTC+8)
Asia/Chongqing別名重慶/北京時間
Asia/Taipei台灣標準時間台北 (UTC+8)
Asia/Hong_Kong香港時間香港 (UTC+8)
UTC世界標準時間通用

常見誤區

  • CST 不是有效的 PHP 時區識別字元(CST 可能指 China Standard Time、Central Standard Time 等,歧義大)。
  • 直接 time() + 8*3600 僅適用固定 UTC+8,無法處理夏令時地區。
  • 設定了時區但仍報錯:檢查拼寫、確認 php.ini 生效(php -i | grep date.timezone)。

最佳實踐

專案入口檔第一行寫死 date_default_timezone_set('Asia/Shanghai'),不依賴伺服器環境,部署零配置。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved