Возможный дубликат:
Получите отметку времени сегодня и вчера в php
Мне было интересно, был ли простой способ получить вчерашнюю дату в этом формате:
date("F j, Y");
date()
является только для форматирования, но он принимает второй параметр.
date("F j, Y", time() - 60 * 60 * 24);
Чтобы это было просто, я просто вычитаю 24 часа из timestamp unix.
Современный oop-подход использует DateTime
$date = new DateTime(); $date->sub(new DateInterval('P1D')); echo $date->format('F j, Y') . "\n";
Или в вашем случае (более читаемый / очевидный)
$date = new DateTime(); $date->add(DateInterval::createFromDateString('yesterday')); echo $date->format('F j, Y') . "\n";
-$date = new DateTime(); $date->add(DateInterval::createFromDateString('yesterday')); echo $date->format('F j, Y') . "\n";
(Поскольку DateInterval
здесь отрицательный, мы должны add()
сюда)
См. Также: DateTime::sub()
и DateInterval
strtotime()
, как в date("F j, Y", strtotime("yesterday"));
Как легко 🙂
date("F j, Y", strtotime( '-1 days' ) );