如何在PHP中获取2009-12-25和2009-12-30之间的日期?

时间:2009-12-25 07:18:46

标签: php

如何实现这个功能?

所以它会输出一个包含2009-12-25的数组2009-12-25 2009-12-27 2009-12-28 2009-12-29 2009-12-30?

4 个答案:

答案 0 :(得分:5)

$startdate = strtotime("2009-12-25");
$enddate = strtotime("2009-12-30");
$steps = "1 day"; 

# Start
$date = $startdate;
while ($date <= $enddate)  
  {   echo date("Y-m-d", $date)."<br>";
      $date = strtotime ("+".$steps, $date); // can be slow with large arrays, 
                                             // you can also just add 60*60*24 seconds
                                             // to $date

   }

答案 1 :(得分:3)

此外,您可以使用类似于第一个答案的方法。

 $startDate = mktime(0, 0, 0, 12, 25, 2009);
 $endDate = mktime(0, 0, 0, 12, 30, 2009);
 for ($i=$startDate; $i<=$endDate; $i=$i+86400) {
   $timeArray[]=date("Y-m-d", $i);
 }

结果:

array (
  0 => '2009-12-25',
  1 => '2009-12-26',
  2 => '2009-12-27',
  3 => '2009-12-28',
  4 => '2009-12-29',
  5 => '2009-12-30',
)

答案 2 :(得分:2)

从php 5.3开始,你也可以使用DatePeriod类。

答案 3 :(得分:-2)

mktime与当天的递增变量一起使用:

$array = array();
for ($x = 25; $x <= 30; $x++) {
    $array[] = date('Y-m-d', mktime(0, 0, 0, 12, $x, 2009));
}