获得通过月和年的PHP周数

Ric*_*nns 4 php date

我知道有很多像这样的问题,但我不知道我是盲目的还是什么,但我找不到符合我的问题的答案,所以在这里.

我有2个组合框 - month而且year,我需要一个功能,从我选择的月份和年份中为我带来周数.

例:

我选择日期02/2012(m/yyyy),组合将带来属于我选择的月份的周数.(从一年起的几周).

周:

5, 6, 7, 8, 9


我的主要目标是将周数传递给另一个函数以获得本周的日期,就像这个函数的返回一样:

$week_number = 40;
$year        = 2012;

if($week_number < 10){
   $week_number = "0".$week_number;
}

for($day=1; $day<=7; $day++)
{
    echo date('m/d/Y', strtotime($year."W".$week_number.$day))."<br/>";
}
Run Code Online (Sandbox Code Playgroud)

不知道我是否清楚自己,但是,我的客人提出的任何问题.

谢谢.


恢复:

一年52周

如果我选择第2个月,该函数应该返回5, 6, 7, 8, 9.

Bor*_*din 12

我想你应该能够用这个吗?

$month = "2";
$year = "2012";

$beg = (int) date('W', strtotime("first thursday of $year-$month"));
$end = (int) date('W', strtotime("last  thursday of $year-$month"));

print(join(', ', range($beg, $end)));
Run Code Online (Sandbox Code Playgroud)

OUTPUT

5, 6, 7, 8
Run Code Online (Sandbox Code Playgroud)

注意

此代码有问题,并且在2014年8月27日修复之前产生了错误的结果.

一周所属的时间段取决于其中大多数(四个或更多)的日期.这最简单的方法是检查星期四下降的位置.因此,一个月的第一周和最后一周是包含其第一个和最后一个星期四的那些星期.