Я хочу получить вчерашнюю дату с использованием определенного формата даты в php, это формат:
$today = date("dmY"); //15.04.2013
Является ли это возможным? PS: принимая во внимание, если вчера вернет меня в последний месяц, месяц (м) должен быть изменен
там вы идете
date('dmY',strtotime("-1 days"));
это будет работать и в случае изменения месяца
Шаг 1
Нам нужно установить данные формата в функцию date (): Function date () возвращает строку, отформатированную в соответствии с строкой заданного формата, с использованием заданной метки времени или текущей временной отметки 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 и time.
<?php echo mktime(0, 0, 0, date("m"), date("d")-1, date("Y")); ?>
результата: 1269820800
Шаг 3
Теперь объедините все и посмотрите на это:
<?php $yesterday = date("Ymd", 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("Ymd",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('dmy'); ?>
-$tz = new DateTimeZone('Your Time Zone'); $date = new DateTime($today,$tz); $interval = new DateInterval('P1D'); $date->sub($interval); echo $date->format('dmy'); ?>
попробуй это
<?php $yesterday = date(“dmY”, time()-86400); echo $yesterday;