给定周数计算星期几

给定一个星期数,例如date -u +%W,您如何计算从星期一开始的那一周中的天数?

第40周的rfc-3339输出示例:

2008-10-06

2008-10-07

2008-10-08

2008-10-09

2008-10-10

2008-10-11

2008-10-12

回答:

$week_number = 40;

$year = 2008;

for($day=1; $day<=7; $day++)

{

echo date('m/d/Y', strtotime($year."W".$week_number.$day))."\n";

}


下面的帖子是因为我是个白痴,没有正确阅读问题,但是会获得从星期一开始的一周中的日期,给出的是日期,而不是星期数。

,改编自PHP日期手册页上的这篇文章

function week_from_monday($date) {

// Assuming $date is in format DD-MM-YYYY

list($day, $month, $year) = explode("-", $_REQUEST["date"]);

// Get the weekday of the given 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;

}

// Timestamp of the monday for that week

$monday = mktime('0','0','0', $month, $day-$numDaysToMon, $year);

$seconds_in_a_day = 86400;

// Get date for 7 days from Monday (inclusive)

for($i=0; $i<7; $i++)

{

$dates[$i] = date('Y-m-d',$monday+($seconds_in_a_day*$i));

}

return $dates;

}

来自的输出week_from_monday('07-10-2008')

Array

(

[0] => 2008-10-06

[1] => 2008-10-07

[2] => 2008-10-08

[3] => 2008-10-09

[4] => 2008-10-10

[5] => 2008-10-11

[6] => 2008-10-12

)

以上是 给定周数计算星期几 的全部内容, 来源链接: utcz.com/qa/397928.html

回到顶部