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

PHP date() 輸出時間相差 8 小時的三種時區設定方法

     編輯:PHP 相關知識

PHP 5.1+ 預設使用 UTC 時區,若未設定時區,date() 輸出會比北京時間少 8 小時。本文提供三種設定時區的方法。

現象

echo date('Y-m-d H:i:s'); // 輸出 02:32:17
// 實際北京時間 10:32:17

方法一:腳本開頭呼叫 date_default_timezone_set(推薦,可攜性最好)

<?php
date_default_timezone_set('Asia/Shanghai'); // 或 PRC、Asia/Chongqing
echo date('Y-m-d H:i:s'); // 正確輸出北京時間
?>

方法二:ini_set 設定 date.timezone

<?php
ini_set('date.timezone', 'Asia/Shanghai');
echo date('Y-m-d H:i:s');
?>

方法三:修改 php.ini(需伺服器權限,重啟生效)

; 找到 date.timezone 行,去掉前面分號並設定
date.timezone = "Asia/Shanghai"
; 或
date.timezone = "PRC"

常用時區識別字元

  • Asia/Shanghai、Asia/Chongqing、PRC:中國標準時間(UTC+8)
  • Asia/Taipei:台灣時間(同 UTC+8)
  • Asia/Hong_Kong:香港時間
  • UTC:世界標準時間

補充:直接加 8 小時秒數(不推薦,夏令時會出錯)

echo date('Y-m-d H:i:s', time() + 8*3600); // 粗暴但有效,不處理夏令時

最佳實踐

在專案入口檔(如 common.php、bootstrap.php)最開頭呼叫 date_default_timezone_set('Asia/Shanghai'),確保全專案一致,且不依賴伺服器 php.ini 設定。

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