php 获取开始日期与结束日期之间所有日期

jacklove
jacklove 原创
2023-03-31 06:26:01 1414浏览

因项目需求,需要获取指定日期段内的数据按每日进行处理。

例如需要对2016-06-01至2016-06-05日期段内,每一天的数据进行处理。首先需要获取这个日期段内每一天日期,再循环执行处理。

<?php$date = array('2016-06-01','2016-06-02','2016-06-03','2016-06-04','2016-06-05');foreach($date as $d){    // 执行处理}?>

如果日期段跨度大(2015-09-01至2016-06-30),并且有跨年,跨月(闰月)的情况,人手创建日期数组太费时间且不合理。

因此写了以下方法,可以获取指定日期段内每一天的日期,代码如下:

<?php/**
 * 获取指定日期段内每一天的日期
 * @param  Date  $startdate 开始日期
 * @param  Date  $enddate   结束日期
 * @return Array
 */function getDateFromRange($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)

本篇讲解了php 获取开始日期与结束日期之间所有日期 ,更多相关内容请关注php中文网。

相关推荐:

解读php的PDO连接数据库的相关内容

如何通过php用代码实现递归获取一个数组中指定key的值

通过PHP实现读取一个1G的文件大小

以上就是php 获取开始日期与结束日期之间所有日期的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。