當前位置: 首頁> 最新文章列表> 怎麼用gmdate 輸出符合ISO 8601 格式的時間?實用代碼例子

怎麼用gmdate 輸出符合ISO 8601 格式的時間?實用代碼例子

gitbox 2025-08-26
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 與文章內容無關的前置 PHP 代碼</span></span><span>
</span><span><span class="hljs-variable">$dummyVar</span></span><span> = </span><span><span class="hljs-string">"这部分代碼與正文无关,僅作佔位"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strtoupper</span></span><span>(</span><span><span class="hljs-variable">$dummyVar</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * 標題:怎麼用 gmdate 輸出符合 ISO 8601 格式的時間?实用代碼例子
 *
 * ISO 8601 是一種國際標準化的日期時間表示法,通常用於 API、日誌記錄或跨時區的數據交換。
 * 在 PHP 中,我們可以通過 gmdate() 函數來生成符合 ISO 8601 格式的 UTC 時間。
 *
 * ISO 8601 常見格式示例:
 * 1. 完整日期時間:YYYY-MM-DDTHH:MM:SSZ  (例如:2025-08-19T12:34:56Z)
 * 2. 僅日期:YYYY-MM-DD
 *
 * gmdate() 與 date() 類似,但它返回的是格林威治标准時間(UTC)。
 */</span>

</span><span><span class="hljs-comment">// 當前 UTC 時間</span></span><span>
</span><span><span class="hljs-variable">$utcTime</span></span><span> = </span><span><span class="hljs-title function_ invoke__">gmdate</span></span><span>(</span><span><span class="hljs-string">"Y-m-d\TH:i:s\Z"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"當前 UTC 時間(ISO 8601 格式):<span class="hljs-subst">$utcTime</span></span></span><span>&lt;br&gt;";

</span><span><span class="hljs-comment">// 使用帶時區的 DateTime 對象</span></span><span>
</span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTime</span></span><span>(</span><span><span class="hljs-string">"now"</span></span><span>, </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTimeZone</span></span><span>(</span><span><span class="hljs-string">"UTC"</span></span><span>));
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"使用 DateTime 對象生成的 ISO 8601 時間:"</span></span><span> . </span><span><span class="hljs-variable">$date</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-title class_">DateTime</span></span><span>::</span><span><span class="hljs-variable constant_">ATOM</span></span><span>) . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;

<span class="hljs-comment">/**
 * 實用小技巧:
 * 1. gmdate("c") 並不總是符合嚴格的 ISO 8601 UTC 格式,推薦使用 gmdate("Y-m-d\TH:i:s\Z")。
 * 2. 如果需要帶毫秒或微秒,可以使用 DateTime 和 DateTime::format('Y-m-d\TH:i:s.u\Z')。
 */</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 與文章内容无关的尾部 PHP 代碼</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">footerNote</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"本文示例僅用於演示 PHP 日期處理。"</span></span><span>;
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"&lt;footer&gt;"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">footerNote</span></span><span>() . </span><span><span class="hljs-string">"&lt;/footer&gt;"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>