如何获取代码数组中两个日期之间的所有日期
问题描述:
我有两个日期,我需要使用Codeigniter的数组中的这两个日期之间的所有日期。在此先感谢您的帮助 我的意思是这样的如何获取代码数组中两个日期之间的所有日期
$fromDate =$this->input->post('fromDate');
$toDate = $this->input->post('toDate');
$allDate = array('all the dates between these two date');
答
可以这样做.........
$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));
每纳秒是一个日期...... – Rooster 2013-04-24 16:43:33
我可以像'10/12/2013','11/12/2013'这样的日子得到这样的 – Mansoor 2013-04-24 16:48:12
http://php.net/manual/ en/class.dateperiod.php – stormdrain 2013-04-24 16:52:15