<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>