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

PHP 使用 strtotime 與 strftime 快速調整顯示時間(如時區偏移)

     編輯:PHP 綜合知識

需求場景

服務器時間為 UTC,需顯示比服務器早 5 小時的時間(如美國東部時間)。

代碼示例

$today = date('Y-m-d-G');                 // 當前服務器時間字符串
$today = strftime("%Y-%m-%d-%H", strtotime("$today -5 hour")); // 減去 5 小時並格式化
echo $today; // 輸出調整後的時間

封裝為通用函數

function adjust_time($format = "%Y-%m-%d %H:%M:%S", $offsetHours = 0, $baseTime = null) {
    $base = $baseTime ?: time();
    return strftime($format, strtotime(($offsetHours >= 0 ? "+" : "") . abs($offsetHours) . " hours", $base));
}
// 使用
echo adjust_time("%Y-%m-%d %H:%M", -5); // UTC-5
echo adjust_time("%Y-%m-%d %H:%M", +8); // UTC+8 (北京時間)

說明

  • strtotime 支援相對時間字符串(+5 hours、-3 days 等)。
  • strftime 依賴區域設置格式化,Windows 下格式化代碼可能不同(如 %H 通用)。
  • 現代項目推薦使用 DateTime + DateTimeZone 物件導向方式,功能更強大。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved