【发布时间】:2012-09-25 17:00:09
【问题描述】:
我正在尝试为一个月中的几天分配 1 到 5 周,即
Day 1 - 7 = Week 1
Day 8 - 14 = Week 2
Day 15 - 21 = Week 3
Day 22 - 28 = Week 4
Day 23 - 31 = Week 5
平年和闰年的所有月份。
我的问题是:像 2012 年 9 月(周日至周六)这样的一个月,其中 9 月 1 日是第 35 周的最后一天,而 9 月 30 日是第 40 周的开始,因此这些周并不独特。
我的周数是否总是正确的?
我每个月都有这样的日子。此代码还用于从 1 到 53 获取周数。但我只想要每个月的第 1 周到 4/5 周。
$month array('january'.........'december');
$year = array('2011',........'2099');
for($i=0; $i<count($year); $i++){
for($j=0; $j<count($month); $j++){
$stamp = strtotime("last Monday of $month[$j] $year[$i]");
$date = date("d-M-Y", $stamp);
$newdate = explode("-", $date);
echo "Day - $date[0]". "<br>";
echo "Month - $date[1]". "<br>";
echo "Year - $date[2]". "<br><br>";
【问题讨论】:
-
你能显示你用来计算天数的代码吗?
-
我会选择
(int) (date('d', $date) / 7) + 1。取决于你需要什么。请说明您需要什么输出。 -
@think123 想说的是,您应该检查之前的问题并在适用的情况下接受答案,如常见问题解答中所述:stackoverflow.com/faq#howtoask
-
@Jack 请看更新。
-
@ilp 如果我理解正确的话,我想我在之前的评论中发布的解决方案可能就是您需要的,不是吗?
标签: php calendar week-number