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 檔案
- 開啟 php.ini 檔案(通常位於 PHP 的安裝根目錄下)。
- 找到 date.timezone 設定。
- 刪除 date.timezone 前面的分號,並改成:
date.timezone = Asia/Taipei
- 存檔,並重新啟動 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")));
?>