從給定的周數中提取一周中的天數
給定相應的周數,計算特定週內的各個天數,是基於時間的應用程式中的常見任務。本指南使用 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中文網其他相關文章!