1

我想制作一个用户可以选择的日期列表。日期应从今天的当前日期开始,并在5 天后结束。我只是不知道如何在循环中执行它,所以我不会一遍又一遍地更改日期。谢谢。请帮忙。

4

5 回答 5

0
<?php
    $today = date('d/m/y');
    for($i=0; $i<5; $i++) {
          $nextDay = date('m/d/y', time() + (86400*$i));
          //make something with your date
    }
?>

你的意思是这样的吗?

于 2013-03-09T11:09:07.587 回答
0
echo "<select name=\"date\">\n";
for($i=time();$i<time()+5*24*60*60;$i+=24*60*60) {
    $d = date('Y-m-d', $i);
    echo echo "<option value=\"$d\">$d</option>\n";
}
echo "</select>\n";
于 2013-03-09T11:10:10.157 回答
0

快速而肮脏的方式:

for ($i = 0; $i < 5; $i++){
    print date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') + $i, date('Y')));
    print "\n";
}
于 2013-03-09T11:13:27.933 回答
0

您可以使用 UNIX 时间戳来存储时间和循环。

用于date('Y-m-d', $timestamp)生成日期字符串。

用于strtotime($string)将 Ymd 字符串转换为时间戳整数。

$now = time();
for($i = $now; $i < $now + 5*86400; $i=$i+86400)
{
    $Ymd = date('Y-m-d', $i);
    //do other things here.
}
于 2013-03-09T11:13:49.803 回答
0

您可以为此使用 php DateTime 函数:

<?php

    $date = new DateTime();    // Without argument: now
    $interval = new Dateinterval("P1D"); // Period: 1 day
    for ($i = 0; $i <= 5; $i++) {
       echo $date->format("Y-m-d")."\n";
       $date->add($interval);
    }
?>
于 2013-03-09T11:18:11.420 回答