Самый простой способ увеличить дату в PHP?

Закончилось решение этой проблемы рекурсивным методом:

public function getDomainPath($domainId)
{
    $domain = Domain::findOrFail($domainId);
    if (is_null($domain->parent_id)) {
        return $domain->domain;
    }
    $path = $this->getDomainPath($domain->parent_id) . '/' . $domain->domain;
    return $path;
}

Затем я вызываю метод в методе доступа и передаю идентификатор самого дочернего домена.

37
задан Deepu 29 June 2013 в 06:36
поделиться

4 ответа

Очевидный способ для использования strtotime()

$date = strtotime("+1 day", strtotime("2007-02-28"));
echo date("Y-m-d", $date);

, даст Вам 01.03.2007

80
ответ дан Ólafur Waage 27 November 2019 в 04:03
поделиться

Это более чисто и более просто добавить 86400.:)

высокотехнологичный путь состоит в том, чтобы сделать:

$date = new DateTime($input_date);
$date->modify('+1 day');
echo $date->format('Y-m-d');

, но это действительно только удаленно стоит, если Вы делаете, скажем, последовательность преобразований в день, вместо того, чтобы просто найти завтра.

31
ответ дан chaos 27 November 2019 в 04:03
поделиться

Можно сделать дополнение прямо внутри strtotime, например,

 $today="2007-02-28";
 $nextday=strftime("%Y-%m-%d", strtotime("$today +1 day"));
17
ответ дан chaos 27 November 2019 в 04:03
поделиться

Иначе должен использовать функцию mktime (). Это - очень полезная функция...

$date = "2007-02-28";
list($y,$m,$d)=explode('-',$date);
$date2 = Date("Y-m-d", mktime(0,0,0,$m,$d+1,$y));

, но я думаю strtotime(), лучше в той ситуации...

6
ответ дан mac 27 November 2019 в 04:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: