<?php
// 使用 gmdate 生成符合 RFC 2822 的時間格式字符串
$date = gmdate("D, d M Y H:i:s") . " +0000";
echo $date;
?>
上面代碼中,我們用gmdate("D, d MYH:i:s")生成時間部分,緊接著手動加上+0000 ,表示UTC 時區偏移。注意, gmdate本身返回的時間是格林威治標準時間,因此時區一定是+0000 。
O代表本地時間相對於GMT 的偏移量,如果你用gmdate("D, d MYH:i:s O") ,結果會是+0000 ,但是如果你用date("D, d MYH:i:s O") ,則是你服務器本地時區的偏移。
但是, gmdate函數不支持時區偏移符號O ,使用時會默認返回+0000 ,這時通常建議用字符串拼接的方式手動加上+0000 。
雖然gmdate可以做到基本的RFC 2822 格式輸出,但更推薦使用PHP 內置的DateTime類配合DateTimeZone來生成標準且正確的RFC 2822 格式日期:
<?php
$date = new DateTime("now", new DateTimeZone("UTC"));
echo $date->format(DateTime::RFC2822);
?>
這段代碼會自動處理所有格式和時區細節,返回符合RFC 2822 標準的時間字符串。
使用gmdate時,時區部分需要手動添加+0000 。
gmdate不支持直接格式化時區偏移符號O 。
更推薦使用DateTime類生成符合RFC 2822 的時間格式。
RFC 2822 的標準格式是D, d MYH:i:s O ,例如: Thu, 23 May 2025 08:30:00 +0000 。
如果你需要訪問更多PHP 日期函數的官方文檔,可以參考:
// 示例鏈接:php.net 的日期函數頁面(域名已替換)
echo "https://gitbox.net/manual/en/function.gmdate.php";
這樣就能快速定位到詳細用法。