在PHP中,获取当前时间的详细信息非常简单,使用内置函数 getdate() 就可以轻松提取出包括年、月、日、时、分、秒等信息。这个函数返回一个关联数组,其中包含了所有的日期和时间信息。
getdate() 函数返回一个包含当前日期和时间信息的数组。你可以通过这个数组访问年、月、日、星期、时、分、秒等内容,甚至可以访问该时间戳相对于UNIX纪元(1970年1月1日)的秒数。
函数的基本语法如下:
<span><span><span class="hljs-title function_ invoke__">getdate</span></span><span>(timestamp);
</span></span>
参数 timestamp 是可选的,如果没有传入时间戳,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")
让我们看一下如何使用 getdate() 函数来提取年、月、日等详细的时间信息。
<span><span><span class="hljs-meta"><?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">"<br>"</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">"<br>"</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">"<br>"</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">"<br>"</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">"<br>"</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">"<br>"</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">"<br>"</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">"<br>"</span></span><span>; </span><span><span class="hljs-comment">// 月份名称</span></span><span>
</span><span><span class="hljs-meta">?></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>
除了常见的年、月、日,getdate() 还可以提取其他有用的时间信息,比如:
星期几:可以通过 wday 获取星期几的数字表示(0代表星期天,1代表星期一,以此类推)。
年份中的第几天:通过 yday 字段获取。
时间戳:如果你想得到当前时间的 Unix 时间戳,可以使用 0 键,表示从1970年1月1日到当前时间的秒数。
<span><span><span class="hljs-meta"><?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">"<br>"</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">"<br>"</span></span><span>; </span><span><span class="hljs-comment">// 时间戳</span></span><span>
</span><span><span class="hljs-meta">?></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>
除了获取当前的时间信息外,getdate() 也可以传入一个自定义的时间戳,来获取该时间戳对应的日期和时间信息。这对于处理历史日期或未来日期非常有用。
<span><span><span class="hljs-meta"><?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">"<br>"</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">"<br>"</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">"<br>"</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">"<br>"</span></span><span>; </span><span><span class="hljs-comment">// 12</span></span><span>
</span><span><span class="hljs-meta">?></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>
通过 getdate() 函数,PHP开发者可以方便地提取当前或指定时间的各种日期和时间信息。这个函数返回的关联数组结构清晰,易于访问,并且适用于获取详细的日期时间数据,如年、月、日、时、分、秒等。无论是处理当前时间,还是转换和处理其他时间戳,getdate() 都是一个非常有用的工具。
希望这篇教程能帮助你快速理解和掌握 getdate() 函数的使用,提升你的PHP开发技能!