服務器時間為 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 物件導向方式,功能更強大。