PHP 時區調整教學

PHP date() 函數出現錯誤時提供以下三個方法調整時區,在使用 echo date("Y-m-d H:i:s") 取得系統時間時,可能會發現取得的時間與我們電腦的時間不符,由於 PHP 預設設定的時間是以格林威治時區為標準的,與台灣時間差了 8 個小時。因此,我們需要將 PHP 的時區設定改為台北時間。

適用版本:PHP 4, PHP 5, PHP 7, PHP 8

解決方法

以下提供三種解決方法,以 GMT+8 台北時間為例:

方法一:修改 php.ini 檔案

  1. 開啟 php.ini 檔案(通常位於 PHP 的安裝根目錄下)。
  2. 找到 date.timezone 設定。
  3. 刪除 date.timezone 前面的分號,並改成:date.timezone = Asia/Taipei
  4. 存檔,並重新啟動 Apache 服務(建議先停止再啟動)。
;date.timezone = 
date.timezone = Asia/Taipei

重新檢查 echo date("Y-m-d H:i:s"),時間應該已經正確顯示。

方法二:在 date() 前設定時區

在使用 date() 函數之前,先設定時區:

date_default_timezone_set('時區');

<php
date_default_timezone_set('Asia/Taipei');
echo date("Y-m-d H:i:s");
?>

方法三:直接調整時間

可以直接在 date() 函數中調整時間:

<?php
echo date("Y-m-d H:i:s", mktime(date("H")+8, date("i"), date("s"), date("m"), date("d"), date("Y")));
?>

參考資料

Victor
Victor

哈囉!

文章: 230

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *