Подтвердить что ты не робот

Как получить дату вчера, используя php?

Я хочу получить вчерашнюю дату, используя определенный формат даты в php, это формат:

$today = date("d.m.Y"); //15.04.2013

Является ли это возможным?

Примите во внимание месяц и годы, если они должны быть изменены в соответствующих.

4b9b3361

Ответ 1

там вы идете

date('d.m.Y',strtotime("-1 days"));

это будет работать и в случае изменения месяца

Ответ 2

Шаг 1

Нам нужны данные формата формата в функции date(): Функция date() возвращает строку, отформатированную в соответствии с заданной строкой format, используя заданную метку времени или текущее время ifno timestamp. Другими словами, timestampis необязателен и указывает на значение time().

<?php
echo date("F j, Y");
?>

Результат: 30 марта 2010 г.

Шаг 2

Для "вчерашней" даты используйте функцию php mktime(): Функция mktime() возвращает временную метку Unix, соответствующую заданным параметрам. Эта временная метка представляет собой длинное целое число, содержащее число секунд между Unix Epoch (1 января 1970 года 00:00:00 GMT) и указанное время. Аргументы могут быть опущены в порядке справа налево; любой аргумент, опущенный, будет установлен на текущее значение в соответствии с localdate и временем.

<?php
echo mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
?>

Результат: 1269820800

Шаг 3

Теперь объедините все и посмотрите на это:

<?php
$yesterday = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-1,date("Y")));
echo $yesterday;
?>

Результат: 29 марта 2010 г.

Действуя аналогично, можно получить время назад.

<?php
$yesterday = date("H:i:s",mktime(date("H"), 0, 0, date("m"),date("d"), date("Y")));
echo $yesterday;
?>

Результат: 20:00:00

или 7 дней назад:

<?php
$week = date("Y-m-d",mktime(0, 0, 0, date("m"), date("d")-7,date("Y")));
echo $week;
?>

Результат: 2010-03-23 ​​

Ответ 3

вы можете сделать это с помощью

date("F j, Y", time() - 60 * 60 * 24);

или

date("F j, Y", strtotime("yesterday"));

Ответ 4

попробуйте это               

        $tz    = new DateTimeZone('Your Time Zone');
        $date  = new DateTime($today,$tz);
        $interval = new DateInterval('P1D');
        $date->sub($interval); 

        echo $date->format('d.m.y');

        ?>           

Ответ 5

попробуйте это

<?php
$yesterday = date("d.m.Y", time()-86400);
echo $yesterday;

Ответ 6

Вы также можете сделать это, используя библиотеку Carbon:

Carbon::yesterday()->format('d.m.Y');         // '26.03.2019'

В других форматах:

Carbon::yesterday()->toDateString();          // '2019-03-26'
Carbon::yesterday()->toDateTimeString();      // '2019-03-26 00:00:00'

Carbon::yesterday()->toFormattedDateString(); // 'Mar 26, 2019'
Carbon::yesterday()->toDayDateTimeString();   // 'Tue, Mar 26, 2019 12:00 AM'