以下是我想要的输出。
假设我在函数中传递了两个不同的日期。
假设我将“01/01/2016 to 07/25/2016
”传递给了函数
function bunch_days15($date1, $date2){
}
如何获得15天的以下结果?
array{
[0] => {
[0] 01/01/2016
[1] 01/15/2016
}
[1] => {
[0] 01/16/2016
[1] 01/31/2016
}
[2] => {
[0] 02/01/2016
[1] 02/15/2016
}
[3] => {
[0] 02/16/2016
[1] 02/28/2016
}
}
和soo
请通过我通过2个不同日期的常见功能告诉我,它会在15天的结果中返回数组。
答案 0 :(得分:0)
function daysBunch($date1, $date2){
$temp_date = $date1;
$days = array();
$i = 0;
while(1){
$next_date = date('m/d/Y', strtotime("$temp_date +14 days"));
if(strtotime($next_date) > strtotime($date2)){
break;
}
$days[$i][] = $temp_date;
$days[$i][] = $next_date;
$temp_date = date('m/d/Y', strtotime("$next_date +1 days"));
$i++;
}
return $days;
}
$d1 = "01/01/2016";
$d2 = "07/25/2016";
var_dump(daysBunch($d1, $d2));
N.B:对于2016年1月1日的开始日期,它将于2016年1月16日为您提供2016年1月16日的2016年1月30日。
答案 1 :(得分:0)
这是我的功能
function bunch_days15($date1, $date2){
$startDate = new DateTime($date1);
$endDate = new DateTime($date2);
$mArray = array();
while ($startDate <= $endDate)
{
$row = array();
$row[] =$startDate->format("Y-m-01");
$row[] = $startDate->format("Y-m-15");
$mArray[] = $row;
$row = array();
$row[] = $startDate->format("Y-m-16");
$row[] = $startDate->format("Y-m-t");
$mArray[] = $row;
$startDate = $startDate->modify( 'first day of next month' );;
}
return $mArray;
}
print_r(bunch_days15('2015-01-01','2016-06-08'));