我知道有很多这样的问题,但我不知道我是不是瞎了还是怎么的,但我找不到符合我的问题的答案,所以就这样吧。
我有 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/>";
}
不知道我是否表达清楚,但是,我的客人有任何问题。
谢谢。
简历:
一年有 52 周
如果我选择第 2 个月,该函数应返回 5, 6, 7, 8, 9
。
最佳答案
我认为您应该能够使用它?
$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)));
输出
5, 6, 7, 8
注意
此代码有错误,并在 2014 年 8 月 27 日修复之前产生了不正确的结果。
一周所属的时间段由其大部分(四天或更多)天所在的位置决定。这最简单地通过检查其 星期四 落在何处来确定。所以一个月的第一周和最后几周是包含它的第一个星期四和最后一个星期四的星期。
关于php - 获取经过月份和年份的周数 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9037963/