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

时间:2022-03-18 16:01:46

本文实例讲述了php获取开始与结束日期之间所有日期的方法。分享给大家供大家参考,具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 * 获取指定日期段内每一天的日期
 * @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;
}
$startdate = '2016-08-29';
$enddate = '2016-09-29';
// demo
$date = getDateFromRange($startdate,$enddate);
print_r($date);

运行结果如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Array
(
[0] => 2016-08-29
[1] => 2016-08-30
[2] => 2016-08-31
[3] => 2016-09-01
[4] => 2016-09-02
[5] => 2016-09-03
[6] => 2016-09-04
[7] => 2016-09-05
[8] => 2016-09-06
[9] => 2016-09-07
[10] => 2016-09-08
[11] => 2016-09-09
[12] => 2016-09-10
[13] => 2016-09-11
[14] => 2016-09-12
[15] => 2016-09-13
[16] => 2016-09-14
[17] => 2016-09-15
[18] => 2016-09-16
[19] => 2016-09-17
[20] => 2016-09-18
[21] => 2016-09-19
[22] => 2016-09-20
[23] => 2016-09-21
[24] => 2016-09-22
[25] => 2016-09-23
[26] => 2016-09-24
[27] => 2016-09-25
[28] => 2016-09-26
[29] => 2016-09-27
[30] => 2016-09-28
[31] => 2016-09-29
)

希望本文所述对大家PHP程序设计有所帮助。