如何获取代码数组中两个日期之间的所有日期

问题描述:

我有两个日期,我需要使用Codeigniter的数组中的这两个日期之间的所有日期。在此先感谢您的帮助 我的意思是这样的如何获取代码数组中两个日期之间的所有日期

$fromDate =$this->input->post('fromDate'); 
    $toDate = $this->input->post('toDate'); 
    $allDate = array('all the dates between these two date'); 
+1

每纳秒是一个日期...... – Rooster 2013-04-24 16:43:33

+0

我可以像'10/12/2013','11/12/2013'这样的日子得到这样的 – Mansoor 2013-04-24 16:48:12

+1

http://php.net/manual/ en/class.dateperiod.php – stormdrain 2013-04-24 16:52:15

可以这样做.........

 $start_date = date('Y-m-d', strtotime($start_date)); 
     $end_date = date('Y-m-d', strtotime($end_date)); 
     $day = 86400; // Day in seconds 
     $format = 'Y-m-d'; // Output format (see PHP date funciton) 
     $sTime = strtotime($start_date); // Start as time 
     $eTime = strtotime($end_date); // End as time 
     $numDays = round(($eTime - $sTime)/$day) + 1; 
     $days = array(); 
     for ($d = 0; $d < $numDays; $d++) { 
      $days[] = date($format, ($sTime + ($d * $day))); 
     } 
+0

谢谢。它运作良好 – Mansoor 2013-04-25 09:57:42

Venkat解决方案并不为期间的工作,包括从夏季到冬季时间(-1小时)的DST变化。例如。在2013-10-01至2013-10-31的某个特定时期内,2013-10-27的日期会增加两次。一种解决方案是增加一小时或3600秒。因此for循环中的语句是:

$ days [] = date($ format,($ sTime +($ d * $ day)+ 3600));