在PHP 中,處理日期和時間的最常用函數之一就是date() 。當你需要顯示當前的星期幾時, date()也可以輕鬆勝任,而且你可以自由選擇是以數字的方式顯示,還是以名字(英文或本地化格式)顯示。
如果你想以數字形式顯示星期幾,可以使用格式字符w 。這個格式會返回數字0(表示星期日)到6(表示星期六) 。
<span><span><span class="hljs-meta"><?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">?></span></span><span>
</span></span>
這個數字對於程序邏輯判斷很有用,比如你需要根據是工作日還是周末來決定某個功能是否開啟。
如果你更喜歡以英文的方式顯示星期幾的名稱,可以使用l (小寫字母L)這個格式字符:
<span><span><span class="hljs-meta"><?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">?></span></span><span>
</span></span>
這個格式會返回完整的英文星期名稱,比如Monday、Tuesday、Wednesday 等。
如果你不需要完整名稱,而是更精簡的三個字母縮寫,可以使用D :
<span><span><span class="hljs-meta"><?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">?></span></span><span>
</span></span>
這個格式對於標題、界面空間較小的地方尤其有用。
如果你希望用本地語言(如中文)顯示星期幾,可以配合setlocale()和strftime()來實現。不過要注意,這種方式在某些操作系統(如Windows)上可能效果不佳。
<span><span><span class="hljs-meta"><?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">?></span></span><span>
</span></span>
注意:從PHP 8.1 開始, strftime()已被棄用,推薦使用國際化擴展(如IntlDateFormatter)進行本地化日期格式處理。
現代PHP 開發更推薦使用DateTime類,它比傳統的date()函數更靈活和麵向對象。
<span><span><span class="hljs-meta"><?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>-></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">?></span></span><span>
</span></span>
你也可以通過傳入自定義時間字符串來操作其他日期,而不僅僅是當前時間。
無論是數字形式的星期幾,還是英文/本地語言的星期名稱,PHP 的date()函數都提供了簡單而強大的支持。如果你追求代碼的可維護性和靈活性,可以考慮使用DateTime類進行日期處理。掌握這些技巧,可以讓你的應用更智能、更具國際化能力。