时间:2021-07-01 10:21:17 帮助过:0人阅读
就比如说 9月15号 9月16号 9月17号,知道从哪天开始和到哪天结束。怎么算出中间的日期。
既然知道开始和结束时间,那么用结束时间戳减去开始时间戳的差值除以86400就是间隔天数
如果是获取中间的日期,我觉得楼上 南小鸟
的代码不够简洁,如下
$start = new DateTime('2016-09-15');
$end = new DateTime('2016-09-17');
for ($start;$start<=$end;$start->modify('+1 day')) {
echo $start->format('Y-m-d')."
";
}
推荐我用过的最好的PHP时间处理扩展: Carbon,基本上所有的关于时间的计算都能搞定
Carbon比较方便
不过PHP默认的就有这个功能
$start = new DateTime('2016-09-15');
$end = new DateTime('2016-09-17');
$inteval = new DateInteval('P1D');
$period = new DatePeriod($start, $end, $inteval);
foreach ($period as $date) {
}
$start = '2016-09-15';
$end = '2016-09-17';
$start = strtotime($start);
$end = strtotime($end);
$days = ($end - $start) / 3600 / 24;
for ($i = 0; $i <= $days; $i++) {
echo date('Y-m-d', $start + 3600 * 24 * $i) . "
";
}
2016-09-15
2016-09-16
2016-09-17