$arr = [
'date'=>[],
'num' =>[]
];
//开始日期,结束日期
$startDate = '2017-07-25'; $stopDate = '2017-08-08';
//根据开始日期,和结束日期 往$arr里插入数据,得到结果
array(5) {
["num"]=>
array(15) {
[0]=>
int(0)
[1]=>
int(0)
[2]=>
int(0)
[3]=>
int(0)
[4]=>
int(0)
[5]=>
int(0)
[6]=>
int(0)
[7]=>
int(0)
[8]=>
int(0)
[9]=>
int(0)
[10]=>
int(0)
[11]=>
int(0)
[12]=>
int(0)
[13]=>
int(0)
[14]=>
int(0)
}
["date"]=>
array(15) {
[0]=>
string(5) "07-25"
[1]=>
string(5) "07-26"
[2]=>
string(5) "07-27"
[3]=>
string(5) "07-28"
[4]=>
string(5) "07-29"
[5]=>
string(5) "07-30"
[6]=>
string(5) "07-31"
[7]=>
string(5) "08-01"
[8]=>
string(5) "08-02"
[9]=>
string(5) "08-03"
[10]=>
string(5) "08-04"
[11]=>
string(5) "08-05"
[12]=>
string(5) "08-06"
[13]=>
string(5) "08-07"
[14]=>
string(5) "08-08"
}
}
怎么做到呢? 描述的不够清楚吗? 就是给一个开始的日期和一个结束的日期,根据这个日期往一个数组里面插入数据. 譬如开始时间是2017-07-11; 结束时间是2017-08-11; date数组里面就是[0]=>2017-07-11 [1]=>2017-07-12 .... [?]=>2017-08-11; 就这样.
4 回答
狐的传说
TA贡献1804条经验 获得超3个赞
主要是php内置的日期类的应用
$startDate = new DateTime('2017-07-11');//起始日期
$endDate = new DateTime('2017-08-11');//结束日期
$interval = new DateInterval('P1D');//间隔1天
$perionds = new DatePeriod($startDate, $interval, $endDate);//日期段
foreach ($perionds as $date) {//按照间隔时间来遍历日期段
echo $date->format("Y-m-d"), PHP_EOL;
}
潇潇雨雨
TA贡献1833条经验 获得超4个赞
伪代码
$datestart = new DateTime($startdate);
$datestop = new DateTime($stopdate);
$oneday = DateInterval::createFromDateString('1 day');
$d = new DateTime($datestart);
while ($d < $datestop) {
$arr['date'][] = $d;
$arr['num'][] = ...;
$d += $oneday;
}
- 4 回答
- 0 关注
- 362 浏览
添加回答
举报
0/150
提交
取消