Я хочу получить вчерашнюю дату, используя определенный формат даты в php, это формат:
$today = date("d.m.Y"); //15.04.2013
Является ли это возможным?
Примите во внимание месяц и год, если они должны быть изменены соответственно.
Я хочу получить вчерашнюю дату, используя определенный формат даты в php, это формат:
$today = date("d.m.Y"); //15.04.2013
Является ли это возможным?
Примите во внимание месяц и год, если они должны быть изменены соответственно.
Ответы:
вот вы идете
date('d.m.Y',strtotime("-1 days"));
это будет работать также при изменении месяца
вы можете сделать это
date("F j, Y", time() - 60 * 60 * 24);
или по
date("F j, Y", strtotime("yesterday"));
Шаг 1
Нам нужно установить данные формата в функции date (): функция date () возвращает строку, отформатированную в соответствии с заданной строкой формата, используя заданную целочисленную метку времени или текущее время, если метка времени не указана. Другими словами, timestamp не является обязательным и по умолчанию соответствует значению time ().
<?php
echo date("F j, Y");
?>
результат: 30 марта 2010 г.
Шаг 2
Для "вчерашней" даты используйте функцию php mktime (): Функция mktime () возвращает временную метку Unix, соответствующую указанным аргументам. Эта временная метка представляет собой длинное целое число, содержащее количество секунд между эпохой Unix (1 января 1970 00:00:00 по Гринвичу) и указанным временем. Аргументы могут быть опущены справа налево; любые пропущенные аргументы будут установлены на текущее значение в соответствии с местными датой и временем.
<?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
попробуй это
$tz = new DateTimeZone('Your Time Zone');
$date = new DateTime($today,$tz);
$interval = new DateInterval('P1D');
$date->sub($interval);
echo $date->format('d.m.y');
?>
Вчерашняя дата в PHP:
echo date("Y-m-d", strtotime("yesterday"));
Если вы определите часовой пояс в своем приложении PHP (как и следовало бы), это можно сделать следующим образом:
date_default_timezone_set('Europe/Paris');
Тогда это очень просто:
$yesterday = new DateTime('yesterday'); // will use our default timezone, Paris
echo $yesterday->format('Y-m-d'); // or whatever format you want
(Вы можете определить константу или переменную среды для хранения часового пояса по умолчанию.)
попробуй это
<?php
$yesterday = date(“d.m.Y”, time()-86400);
echo $yesterday;
Вы также можете сделать это с помощью библиотеки 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'