当前位置: 首页> 最新文章列表> 如何使用 PHP date() 显示星期几?你可以选择显示数字还是名字!

如何使用 PHP date() 显示星期几?你可以选择显示数字还是名字!

gitbox 2025-08-26

在 PHP 中,处理日期和时间的最常用函数之一就是 date()。当你需要显示当前的星期几时,date() 也可以轻松胜任,而且你可以自由选择是以数字的方式显示,还是以名字(英文或本地化格式)显示。

显示星期几的数字

如果你想以数字形式显示星期几,可以使用格式字符 w。这个格式会返回数字 0(表示星期日)6(表示星期六)

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'w'</span></span><span>); </span><span><span class="hljs-comment">// 输出示例:3,表示星期三</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

这个数字对于程序逻辑判断很有用,比如你需要根据是工作日还是周末来决定某个功能是否开启。

显示英文星期名

如果你更喜欢以英文的方式显示星期几的名称,可以使用 l(小写字母 L)这个格式字符:

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'l'</span></span><span>); </span><span><span class="hljs-comment">// 输出示例:Wednesday</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

这个格式会返回完整的英文星期名称,比如 Monday、Tuesday、Wednesday 等。

显示缩写的英文星期名

如果你不需要完整名称,而是更精简的三个字母缩写,可以使用 D

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'D'</span></span><span>); </span><span><span class="hljs-comment">// 输出示例:Wed</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

这个格式对于标题、界面空间较小的地方尤其有用。

使用 setlocale() 和 strftime() 显示本地语言的星期名(仅适用于某些系统)

如果你希望用本地语言(如中文)显示星期几,可以配合 setlocale()strftime() 来实现。不过要注意,这种方式在某些操作系统(如 Windows)上可能效果不佳。

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_TIME, </span><span><span class="hljs-string">'zh_CN.UTF-8'</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-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-string">'%A'</span></span><span>); </span><span><span class="hljs-comment">// 输出示例:星期三</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

注意:从 PHP 8.1 开始,strftime() 已被弃用,推荐使用国际化扩展(如 IntlDateFormatter)进行本地化日期格式处理。

使用 DateTime 类也是一个好选择

现代 PHP 开发更推荐使用 DateTime 类,它比传统的 date() 函数更灵活和面向对象。

<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$dt</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-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$dt</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'l'</span></span><span>); </span><span><span class="hljs-comment">// 输出示例:Wednesday</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

你也可以通过传入自定义时间字符串来操作其他日期,而不仅仅是当前时间。

小结

无论是数字形式的星期几,还是英文/本地语言的星期名称,PHP 的 date() 函数都提供了简单而强大的支持。如果你追求代码的可维护性和灵活性,可以考虑使用 DateTime 类进行日期处理。掌握这些技巧,可以让你的应用更智能、更具国际化能力。