一尘不染

如何找到两个指定日期之间的日期?

php

如果我在两个文本框中有两个日期20-4-2010和22-4-2010,并且我希望日期像这样的20、21、22,我该如何得到?


阅读 286

收藏
2020-05-26

共1个答案

一尘不染

我很确定这已经回答了四千万次,但是无论如何:

$start = strtotime('20-04-2010 10:00');
$end   = strtotime('22-04-2010 10:00');
for($current = $start; $current <= $end; $current += 86400) {
    echo date('d-m-Y', $current);
}

10:00部分是为了防止代码跳过或者一天重复由于夏令时。

通过给出天数:

for($i = 0; $i <= 2; $i++) {
    echo date('d-m-Y', strtotime("20-04-2010 +$i days"));
}

使用PHP5.3

$period = new DatePeriod(
    new DateTime('20-04-2010'),
    DateInterval::createFromDateString('+1 day'),
    new DateTime('23-04-2010') // or pass in just the no of days: 2
);

foreach ( $period as $dt ) {
  echo $dt->format( 'd-m-Y' );
}
2020-05-26