2

我有两个日期,我需要使用 Codeigniter 将这两个日期之间的所有日期放在一个数组中。在此先感谢您的帮助,我的意思是这样

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

2 回答 2

3

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

        $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)));  
        }
于 2013-04-25T06:30:05.397 回答
0

Venkat 解决方案不适用于包括 DST 从夏季时间更改为冬季时间(-1 小时)的时间段。例如。对于从 2013 年 10 月 1 日到 2013 年 10 月 31 日的给定时间段,添加了两次日期 2013 年 10 月 27 日。一种解决方案是增加一小时或 3600 秒。所以 for 循环中的语句是:

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

于 2013-11-12T08:52:54.283 回答