从给定的周数中提取一周中的天数
给定相应的周数,计算特定周内的各个天数,是基于时间的应用程序中的常见任务。本指南使用 date、strtotime 和 mktime 函数在 PHP 中提供了解决方案。
PHP 实现
<code class="php"><?php $week_number = 40; $year = 2008; for ($day = 1; $day <= 7; $day++) { echo date('m/d/Y', strtotime($year . 'W' . $week_number . $day)) . "\n"; } ?></code>
此代码片段首先初始化周数以及相应的年份。然后,它迭代一周中的每一天,从星期一(第 1 天)开始,到星期日(第 7 天)结束。对于每一天,它使用 strtotime 函数计算相应的日期,并以 m/d/Y 格式打印。
其他 PHP 函数
或者,另一个 PHP函数 week_from_monday 可用于获取给定周(从星期一开始)的日期。此函数采用 DD-MM-YYYY 格式的日期字符串作为参数,并返回相应周的日期数组。
<code class="php"><?php function week_from_monday($date) { list($day, $month, $year) = explode('-', $date); $wkday = date('l', mktime(0, 0, 0, $month, $day, $year)); switch ($wkday) { case 'Monday': $numDaysToMon = 0; break; case 'Tuesday': $numDaysToMon = 1; break; case 'Wednesday': $numDaysToMon = 2; break; case 'Thursday': $numDaysToMon = 3; break; case 'Friday': $numDaysToMon = 4; break; case 'Saturday': $numDaysToMon = 5; break; case 'Sunday': $numDaysToMon = 6; break; } $monday = mktime(0, 0, 0, $month, $day - $numDaysToMon, $year); $seconds_in_a_day = 86400; for ($i = 0; $i < 7; $i++) { $dates[$i] = date('Y-m-d', $monday + ($seconds_in_a_day * $i)); } return $dates; } $date = '07-10-2008'; $dates = week_from_monday($date); print_r($dates); ?></code>
此增强功能允许更灵活地检索日期周,给出该周内的特定日期。
以上是如何在 PHP 中有效地从给定的周数中提取星期几?的详细内容。更多信息请关注PHP中文网其他相关文章!