当前位置: 首页> 最新文章列表> 怎么用 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>