Я хочу получить вчерашнюю дату, используя определенный формат даты в 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"));
это будет работать и в случае изменения месяца
Шаг 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
вы можете сделать это с помощью
date("F j, Y", time() - 60 * 60 * 24);
или
date("F j, Y", strtotime("yesterday"));
попробуйте это
$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
$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'