如何在PHP中的2个不同日期内制作15天串数组?
下面是我想要的php输出。如何在PHP中的2个不同日期内制作15天串数组?
假设我在函数中传递了两个不同的日期。
可以说,我通过“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
}
}
而且洙
请让我知道通过我通过2个不同的日期常用的功能,它会在一堆15天结果返回数组。
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:对于开始日期01/1/2016它会给你01/15/2016类似于01/16/2016它将显示01/30/2016。
让我知道,如果这对你有用:) –
一些最后的日子不来计算..我不想在同一阵列中的不同月份。谢谢 –
这里是我的功能
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'));
它应该从年份开始独立。年份可能是2015年或2014年左右。这将只在2016年工作..!它应该工作在我通过的任何一年.. –
检查我的功能的这个修改后的版本 –
我想知道它的工作。谢谢 ! –
有效的函数名以字母或下划线开始,后面跟上任意数量的字母,数字或下划线。因此,将你的函数15daysBunch($ date1,$ date2)'改为有效的函数。 –
完成。感谢您的更新.. –
@montupepavanshi 1 + 15应该是16再怎么15?同样17 + 15 – Thamilan