21,887
社区成员
发帖
与我相关
我的任务
分享
$d1 = "2016-12-19";
$d2 = "2017-01-14";
$t1 = strtotime($d1);
$t2 = strtotime($d2);
$week = $day = 1;
while($t1 <= $t2) {
$w = date('w', $t1);
if(in_array($w, array(3,5))) {
printf("%s(day=%d,week=%d)(第%d周第%d天)\n", date('Y-m-d', $t1), $day, $week, $day, $week);
$day++;
}
$t1 = strtotime('1 day', $t1);
if($w == 0) {
$week++;
$day = 1;
}
}
2016-12-21(day=1,week=1)(第1周第1天)
2016-12-23(day=2,week=1)(第2周第1天)
2016-12-28(day=1,week=2)(第1周第2天)
2016-12-30(day=2,week=2)(第2周第2天)
2017-01-04(day=1,week=3)(第1周第3天)
2017-01-06(day=2,week=3)(第2周第3天)
2017-01-11(day=1,week=4)(第1周第4天)
2017-01-13(day=2,week=4)(第2周第4天)
$d1 = "2016-08-19";
$d2 = "2016-09-14";
$t1 = strtotime($d1);
$t2 = strtotime($d2);
$week = $day = 1;
while($t1 <= $t2) {
$w = date('w', $t1);
if(in_array($w, array(2,5))) {
printf("%s(day=%d,week=%d)(第%d周第%d天)\n", date('Y-m-d', $t1), $day, $week, $day, $week);
$day++;
}
$t1 = strtotime('1 day', $t1);
if($w == 0) {
$week++;
$day = 1;
}
}
2016-08-19(day=1,week=1)(第1周第1天)
2016-08-23(day=1,week=2)(第1周第2天)
2016-08-26(day=2,week=2)(第2周第2天)
2016-08-30(day=1,week=3)(第1周第3天)
2016-09-02(day=2,week=3)(第2周第3天)
2016-09-06(day=1,week=4)(第1周第4天)
2016-09-09(day=2,week=4)(第2周第4天)
2016-09-13(day=1,week=5)(第1周第5天)
$start = '2016-08-19';
$end = '2016-09-14';
$s = date("W",strtotime($start));
while($start <= $end){
$d = date("N", strtotime($start));
if($d == 3 || $d == 5){
$w = date("W",strtotime($start)) % $s + 1;
$arr[$w][] = $start;
}
$start = date("Y-m-d", strtotime("$start +1 days"));
}
print_r($arr);
Array
(
[1] => Array
(
[0] => 2016-08-19
)
[2] => Array
(
[0] => 2016-08-24
[1] => 2016-08-26
)
[3] => Array
(
[0] => 2016-08-31
[1] => 2016-09-02
)
[4] => Array
(
[0] => 2016-09-07
[1] => 2016-09-09
)
[5] => Array
(
[0] => 2016-09-14
)
)