当前位置: 首页> 最新文章列表> 用getdate()函数如何提取年、月、日等详细时间信息?一看就懂的PHP教程

用getdate()函数如何提取年、月、日等详细时间信息?一看就懂的PHP教程

gitbox 2025-08-24

用getdate()函数如何提取年、月、日等详细时间信息?一看就懂的PHP教程

在PHP中,获取当前时间的详细信息非常简单,使用内置函数 getdate() 就可以轻松提取出包括年、月、日、时、分、秒等信息。这个函数返回一个关联数组,其中包含了所有的日期和时间信息。

1. getdate()函数简介

getdate() 函数返回一个包含当前日期和时间信息的数组。你可以通过这个数组访问年、月、日、星期、时、分、秒等内容,甚至可以访问该时间戳相对于UNIX纪元(1970年1月1日)的秒数。

函数的基本语法如下:

<span><span><span class="hljs-title function_ invoke__">getdate</span></span><span>(timestamp);
</span></span>

参数 timestamp 是可选的,如果没有传入时间戳,getdate() 默认会获取当前的时间信息。如果传入时间戳,它将返回该时间戳所对应的日期和时间。

2. getdate()返回的数据结构

getdate() 返回的是一个关联数组,数组中的键值分别表示了不同的日期和时间部分。具体来说,它返回以下字段:

  • 0:Unix时间戳(自1970年1月1日起的秒数)

  • seconds:秒

  • minutes:分钟

  • hours:小时

  • mday:月份中的日期

  • wday:星期几(0 - 6,0代表星期日)

  • mon:月份(1 - 12)

  • year:年份

  • yday:年份中的第几天(0 - 365)

  • weekday:星期几的名称(例如:"Sunday")

  • month:月份的名称(例如:"January")

3. 如何使用getdate()提取时间信息?

让我们看一下如何使用 getdate() 函数来提取年、月、日等详细的时间信息。

示例代码:

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 获取当前的日期和时间</span></span><span>
</span><span><span class="hljs-variable">$dateInfo</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getdate</span></span><span>();

</span><span><span class="hljs-comment">// 打印出详细的日期和时间信息</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Year: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'year'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;    </span><span><span class="hljs-comment">// 年</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Month: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'mon'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;    </span><span><span class="hljs-comment">// 月</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Day: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'mday'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;     </span><span><span class="hljs-comment">// 日</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Hour: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'hours'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;   </span><span><span class="hljs-comment">// 时</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Minute: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'minutes'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>; </span><span><span class="hljs-comment">// 分</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Second: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'seconds'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>; </span><span><span class="hljs-comment">// 秒</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Day of Week: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'weekday'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>; </span><span><span class="hljs-comment">// 星期几</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Month Name: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'month'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>; </span><span><span class="hljs-comment">// 月份名称</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

输出示例:

<span><span><span class="hljs-attr">Year:</span></span><span> </span><span><span class="hljs-number">2025</span></span><span>
</span><span><span class="hljs-attr">Month:</span></span><span> </span><span><span class="hljs-number">6</span></span><span>
</span><span><span class="hljs-attr">Day:</span></span><span> </span><span><span class="hljs-number">17</span></span><span>
</span><span><span class="hljs-attr">Hour:</span></span><span> </span><span><span class="hljs-number">14</span></span><span>
</span><span><span class="hljs-attr">Minute:</span></span><span> </span><span><span class="hljs-number">45</span></span><span>
</span><span><span class="hljs-attr">Second:</span></span><span> </span><span><span class="hljs-number">30</span></span><span>
</span><span><span class="hljs-attr">Day of Week:</span></span><span> </span><span><span class="hljs-string">Tuesday</span></span><span>
</span><span><span class="hljs-attr">Month Name:</span></span><span> </span><span><span class="hljs-string">June</span></span><span>
</span></span>

4. 获取其他时间信息

除了常见的年、月、日,getdate() 还可以提取其他有用的时间信息,比如:

  • 星期几:可以通过 wday 获取星期几的数字表示(0代表星期天,1代表星期一,以此类推)。

  • 年份中的第几天:通过 yday 字段获取。

  • 时间戳:如果你想得到当前时间的 Unix 时间戳,可以使用 0 键,表示从1970年1月1日到当前时间的秒数。

示例:

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$dateInfo</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getdate</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Day of Year: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'yday'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>; </span><span><span class="hljs-comment">// 年中的第几天</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Timestamp: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>; </span><span><span class="hljs-comment">// 时间戳</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

输出示例:

<span><span><span class="hljs-keyword">Day</span></span><span> </span><span><span class="hljs-keyword">of</span></span><span> </span><span><span class="hljs-keyword">Year</span></span><span>: </span><span><span class="hljs-number">168</span></span><span>
</span><span><span class="hljs-type">Timestamp</span></span><span>: </span><span><span class="hljs-number">1686987330</span></span><span>
</span></span>

5. 使用自定义时间戳

除了获取当前的时间信息外,getdate() 也可以传入一个自定义的时间戳,来获取该时间戳对应的日期和时间信息。这对于处理历史日期或未来日期非常有用。

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 设定一个自定义时间戳</span></span><span>
</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strtotime</span></span><span>(</span><span><span class="hljs-string">"2023-12-25 12:00:00"</span></span><span>);

</span><span><span class="hljs-comment">// 获取该时间戳对应的日期和时间信息</span></span><span>
</span><span><span class="hljs-variable">$dateInfo</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getdate</span></span><span>(</span><span><span class="hljs-variable">$timestamp</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Year: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'year'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>; </span><span><span class="hljs-comment">// 2023</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Month: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'mon'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>; </span><span><span class="hljs-comment">// 12</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Day: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'mday'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;  </span><span><span class="hljs-comment">// 25</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Hour: "</span></span><span> . </span><span><span class="hljs-variable">$dateInfo</span></span><span>[</span><span><span class="hljs-string">'hours'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>; </span><span><span class="hljs-comment">// 12</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

输出示例:

<span><span><span class="hljs-attr">Year:</span></span><span> </span><span><span class="hljs-number">2023</span></span><span>
</span><span><span class="hljs-attr">Month:</span></span><span> </span><span><span class="hljs-number">12</span></span><span>
</span><span><span class="hljs-attr">Day:</span></span><span> </span><span><span class="hljs-number">25</span></span><span>
</span><span><span class="hljs-attr">Hour:</span></span><span> </span><span><span class="hljs-number">12</span></span><span>
</span></span>

6. 总结

通过 getdate() 函数,PHP开发者可以方便地提取当前或指定时间的各种日期和时间信息。这个函数返回的关联数组结构清晰,易于访问,并且适用于获取详细的日期时间数据,如年、月、日、时、分、秒等。无论是处理当前时间,还是转换和处理其他时间戳,getdate() 都是一个非常有用的工具。

希望这篇教程能帮助你快速理解和掌握 getdate() 函数的使用,提升你的PHP开发技能!