我试图在一个月内从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周。
$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>";
答案 0 :(得分:3)
您可以使用此代码段
<?php
function weekInMonth($date) {
return (int) ((date('d', $date) - 1) / 7) + 1;
}
返回:
weekInMonth(strToTime('2012/09/01')); // 1
weekInMonth(strToTime('2012/09/14')); // 2
weekInMonth(strToTime('2012/09/15')); // 3
weekInMonth(strToTime('2012/09/21')); // 3
weekInMonth(strToTime('2012/09/22')); // 4
weekInMonth(strToTime('2012/09/28')); // 4
weekInMonth(strToTime('2012/09/29')); // 5
然而,我不太确定它适用于您的用例。