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

PHP 輸出時間格式完全指南:date() 函數與時區設定

     編輯:PHP 綜合知識

基本範例


"; echo date("Y年m月d日", $tm); // 2024年01月15日 ?>

為什麼需要設定時區?

PHP 預設使用 UTC 時區,北京位於 UTC+8(東八區),直接使用 time() 取得的時間會相差 8 小時。必須明確設定時區才能獲得正確的本地時間。

兩種設定時區的方法

方法一:修改 php.ini(永久生效)

; 找到 date.timezone 並設定
date.timezone = "Asia/Shanghai"

修改後需重啟 Web 伺服器(Apache/Nginx/PHP-FPM)。

方法二:程式碼中動態設定(靈活、即時生效)

date_default_timezone_set("Asia/Shanghai"); // 推薦使用標準時區識別碼

常用時區識別碼:

  • Asia/Shanghai — 中國大陸、香港、台灣
  • Asia/Taipei — 台灣
  • Asia/Hong_Kong — 香港
  • Etc/GMT-8 — 東八區(舊式寫法,不建議新專案使用)

date() 格式化字元完整對照表

常用格式組合範例

進階:DateTime 類別(PHP 5.2+,推薦現代專案使用)

format("Y-m-d H:i:s") . "\n";

// 日期運算
$dt->modify("+1 week");
echo "一週後: " . $dt->format("Y-m-d") . "\n";

// 比較日期
$dt1 = new DateTime("2024-01-01");
$dt2 = new DateTime("2024-12-31");
$diff = $dt1->diff($dt2);
echo "相差: {$diff->days} 天\n";
?>

優勢: 物件導向、支援日期運算、時區轉換、格式化更直觀、避免 32 位系統 2038 年問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
字元說明範例
Y四位數年份2024
y兩位數年份24
m兩位數月份(補零)01-12
n月份(不補零)1-12
d兩位數日期(補零)01-31
j日期(不補零)1-31
H24 小時制小時(補零)00-23
h12 小時制小時(補零)01-12
i分鐘(補零)00-59
s秒數(補零)00-59
a上午/下午(小寫)am/pm
A上午/下午(大寫)AM/PM
w星期幾(數字)0(日)-6(六)
l星期幾(完整英文)Monday
D星期幾(縮寫)Mon
W一年中的第幾週01-53
t當月總天數28-31
z一年中的第幾天0-365