Ответ 1
date()
сам предназначен только для форматирования, но он принимает второй параметр.
date("F j, Y", time() - 60 * 60 * 24);
Чтобы это было просто, я просто вычитаю 24 часа из отметки времени 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";
(Поскольку DateInterval
здесь отрицательный, мы должны add()
здесь)
Смотрите также: DateTime::sub()
и DateInterval