php 获取开始日期与结束日期之间所有日期
程序员文章站
2024-02-12 09:11:22
...
因项目需求,需要获取指定日期段内的数据按每日进行处理。
例如需要对2016-06-01至2016-06-05日期段内,每一天的数据进行处理。首先需要获取这个日期段内每一天日期,再循环执行处理。
$date = array('2016-06-01','2016-06-02','2016-06-03','2016-06-04','2016-06-05');
foreach($dateas$d){
// 执行处理
}
?>
如果日期段跨度大(2015-09-01至2016-06-30),并且有跨年,跨月(闰月)的情况,人手创建日期数组太费时间且不合理。
因此写了以下方法,可以获取指定日期段内每一天的日期,代码如下:
/**
* 获取指定日期段内每一天的日期
* @param Date $startdate 开始日期
* @param Date $enddate 结束日期
* @return Array
*/functiongetDateFromRange($startdate, $enddate){$stimestamp = strtotime($startdate);
$etimestamp = strtotime($enddate);
// 计算日期段内有多少天$days = ($etimestamp-$stimestamp)/86400+1;
// 保存每天日期$date = array();
for($i=0; $i$days; $i++){
$date[] = date('Y-m-d', $stimestamp+(86400*$i));
}
return$date;
}
// demo$date = getDateFromRange('2016-02-25','2016-03-05');
print_r($date);
?>
输出:
Array
(
[0] => 2016-02-25
[1] => 2016-02-26
[2] => 2016-02-27
[3] => 2016-02-28
[4] => 2016-02-29
[5] => 2016-03-01
[6] => 2016-03-02
[7] => 2016-03-03
[8] => 2016-03-04
[9] => 2016-03-05
)
').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i ').text(i));
};
$numbering.fadeIn(1700);
});
});
以上就介绍了 php 获取开始日期与结束日期之间所有日期,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。