Дата PHP вчера

Возможный дубликат:
Получите отметку времени сегодня и вчера в php

Мне было интересно, был ли простой способ получить вчерашнюю дату в этом формате:

date("F j, Y"); 

Solutions Collecting From Web of "Дата PHP вчера"

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' ) );