Я пытаюсь получить текущую дату плюс 7 дней для отображения.
Пример: Сегодня 16 августа 2012 года, так что этот фрагмент PHP выйдет 23 августа 2012 года.
$date = strtotime($date); $date = strtotime("+7 day", $date); echo date('M d, Y', $date);
Прямо сейчас, я получаю: 08 января 1970 года. Что мне не хватает?
strtotime
автоматически будет использовать текущую временную метку unix для создания аннотации строки.
Просто делать:
$date = strtotime("+7 day"); echo date('M d, Y', $date);
Добавлена информация для будущих посетителей: если вам нужно передать временную метку функции, ниже будет работать.
Это рассчитает 7 days
со вчерашнего дня:
$timestamp = time()-86400; $date = strtotime("+7 day", $timestamp); echo date('M d, Y', $date);
$date = new DateTime(date("Ymd")); $date->modify('+7 day'); $tomorrowDATE = $date->format('Ym-d');
Если через 7 дней вы ищете, просто поставьте:
$date = strtotime("+7 day", time()); echo date('M d, Y', $date);
<?php print date('M d, Y', strtotime('+7 days') );
вы не использовали функцию time (), которая возвращает текущее время, измеренное в секундах, начиная с эпохи Unix (1 января 1970 года 00:00:00 GMT). используйте следующее:
$date = strtotime(time()); $date = strtotime("+7 day", $date); echo date('M d, Y', $date);
$now = date('Ym-d'); $start_date = strtotime($now); $end_date = strtotime("+7 day", $start_date); echo date('Ym-d', $start_date) . ' + 7 days = ' . date('Ym-d', $end_date);
Этот код работает для меня:
<?php $date = "21.12.2015"; $newDate = date("dmY",strtotime($date."+2 day")); echo $newDate; // print 23.12.2015 ?>