PHP, вычитающий 1 день из строки даты php, не работает

#php #date

#php #Дата

Вопрос:

я пытаюсь вычесть 1 день из строки даты, если условие выполнено.

Условие If (время if между 12-16) работает нормально, но результат вчерашней даты неверен.

Это то, что я пробовал с помощью исследования из stackoverflow:

 <?php
#trying to remove 1 day from date
$date = date("d/m/y");
    if (date('H') < 16 amp;amp; date('H') > 12) {
        $date2 = strtotime(date('d/m/y') . ' -1 day');
        $date2 = date('d/m/y', $date2);
    }
echo "Todays date is {$date} and yesterday was {$date2}";
?>
  

Результат от phpfiddle:

Сегодняшняя дата 23/10/16, а вчера была 31/12/69

Может кто-нибудь рассказать об этом, как это должно быть сделано?

Ответ №1:

вместо

 $date2 = strtotime(date('d/m/y') . ' -1 day');
  

используйте

  $date2 = strtotime('-1 day');