Я хочу отримати дату вчора, використовуючи певний формат дати в 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 () повертає рядок, відформатований відповідно до заданого рядка формату, використовуючи дану цілу мітку часу або поточний час, якщо метка часу не вказана. Іншими словами, мітка часу є необов'язковою, а за замовчуванням значення часу ().
<?php
echo date("F j, Y");
?>
результат: 30 березня 2010 р
Крок 2
Для "вчорашньої" дати використовуйте функцію php mktime (): Функція mktime () повертає мітку часу Unix, що відповідає заданим аргументам. Ця мітка часу є довгим цілим числом, що містить число секунд між Unix Epoch (1 січня 1970 00:00:00 GMT) та вказаним часом. Аргументи можна пропускати в порядку справа наліво; для будь-яких аргументів, які пропущені, буде встановлено поточне значення відповідно до місцевої дати та часу.
<?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;
?>
результат: 23.03.2010
спробуйте це
$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
$yesterday = date(“d.m.Y”, time()-86400);
echo $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
(Ви можете визначити константу або змінну середовища для зберігання часового поясу за замовчуванням.)
Ви також можете зробити це за допомогою бібліотеки 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'