<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 這部分與文章內容無關,可以是任意PHP代碼</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"歡迎使用PHP日期工具!\n"</span></span><span>;
</span><span><span class="hljs-variable">$today</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"今天的日期是:<span class="hljs-subst">$today</span></span></span><span>\n";
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/**
* 文章正文:如何使用strftime函數獲取星期幾的數字形式?一步搞定日期轉換
*
* 在PHP中,有時候我們需要將一個日期轉換成星期幾的數字形式(通常 0 表示星期天,1 表示星期一,依此類推)。
* 對於這個需求,PHP提供了一個非常方便的函數——strftime()。
*
* 一、strftime函數簡介
* strftime() 函數可以根據給定的格式化字符串返回格式化的日期和時間信息。其基本語法如下:
*
* string strftime(string $format [, int $timestamp = time()])
*
* - $format:格式化字符串,例如 "%w" 表示星期中的數字(0-6,0=星期天)。
* - $timestamp:可選的時間戳,如果不指定,則使用當前時間。
*
* 二、獲取星期幾的數字形式
* 下面是一個示例,將指定日期轉換為星期幾的數字:
*/</span>
</span><span><span class="hljs-comment">// 設置時區,避免出現時區偏差</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>);
</span><span><span class="hljs-comment">// 假設我們有一個日期字符串</span></span><span>
</span><span><span class="hljs-variable">$dateStr</span></span><span> = </span><span><span class="hljs-string">"2025-08-28"</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-variable">$dateStr</span></span><span>);
</span><span><span class="hljs-comment">// 使用strftime獲取星期幾的數字形式</span></span><span>
</span><span><span class="hljs-variable">$weekNumber</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-string">"%w"</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">"日期 <span class="hljs-subst">$dateStr</span></span></span><span> 對應的星期數字是:</span><span><span class="hljs-subst">$weekNumber</span></span><span>\n"; </span><span><span class="hljs-comment">// 輸出結果:4,表示星期四</span></span><span>
<span class="hljs-comment">/**
* 三、關鍵點說明
* 1. %w 格式化符號:
* - 0 = 星期天
* - 1 = 星期一
* - 2 = 星期二
* - 3 = 星期三
* - 4 = 星期四
* - 5 = 星期五
* - 6 = 星期六
*
* 2. 時間戳轉換:
* - 使用 strtotime() 可以方便地將日期字符串轉換為時間戳,保證與strftime函數兼容。
*
* 四、完整函數封裝示例
* 如果你希望反複使用,可以封裝成一個函數:
*/</span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">getWeekNumber</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$date</span></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-variable">$date</span></span><span>);
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-string">"%w"</span></span><span>, </span><span><span class="hljs-variable">$timestamp</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">"使用封裝函數:日期 <span class="hljs-subst">$dateStr</span></span></span><span> 對應的星期數字是:" . </span><span><span class="hljs-title function_ invoke__">getWeekNumber</span></span><span>(</span><span><span class="hljs-variable">$dateStr</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
<span class="hljs-comment">/**
* 五、總結
* 使用strftime("%w", $timestamp) 就可以輕鬆獲取指定日期對應的星期數字。
* 結合strtotime(),可以處理任意格式的日期字符串,實現快速日期轉換。
*/</span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>