【发布时间】:2011-12-01 11:17:48
【问题描述】:
我对 php 很陌生。我有当前日期,我想每天增加日期。我没有任何结束条件。我想将日期每天增加 4 年左右。不应该有一个结局。 我没有任何其他数据,例如结束日期、开始日期。我想使用任何循环一一递增当前日期。如果有人知道请帮助我。
【问题讨论】:
-
请在向 StackOverflow 乱扔多余的重复项之前使用搜索功能。如何增加日期已经被问过一百次了,我们不想再问这些问题了。
标签: php
我对 php 很陌生。我有当前日期,我想每天增加日期。我没有任何结束条件。我想将日期每天增加 4 年左右。不应该有一个结局。 我没有任何其他数据,例如结束日期、开始日期。我想使用任何循环一一递增当前日期。如果有人知道请帮助我。
【问题讨论】:
标签: php
$i = 1;
while (your condition here)
{
echo date('Y-m-d', strtotime('+' . $i++ . ' day'));
}
【讨论】:
如您所见,有多种方法可以将一天添加到当前日期。其他答案更简单也很有效,但面向对象的方式是使用DateTime::add。
<?php
$date = new DateTime();
$date->add(new DateInterval('P1D'));
echo $date->format('Y-m-d') . "\n";
?>
乍一看似乎令人生畏,但我发现DateTime, DateInterval, and DateTimeZone 的好处是让时区和时间间隔的古怪变得更容易处理。
【讨论】:
一天是 86400 秒,所以你可以简单地取当前的time() 并做+86400。
echo 'Tomorrow it\'s '.date('d-m-Y', time()+86400);
【讨论】:
您可以为此使用函数strtotime,如下所示:
for ($i= 1; $i < 10; $i++) {
$date = strtotime("+$i day", strtotime("2011-12-01"));
echo date("Y-m-d", $date);
}
【讨论】:
试试 mktime()。 4年后的当前日期请参考以下示例。
echo date('m-d-Y', mktime(0, 0, 0, date('m'), date('d'), date('Y')+4));
更多关于 mktime() 的细节在这里http://php.net/manual/en/function.mktime.php
【讨论】: