<?php $date = "04-15-2013"; $date = strtotime($date); $date = strtotime("+1 day", $date); echo date('md-Y', $date); ?>
Это сводит меня с ума и кажется таким простым. Я довольно новичок в PHP, но я не могу понять это. Эхо возвращает 01-01-1970
.
Дата $ будет поступать из POST
в формате mdY
, мне нужно добавить один день и использовать его как новую переменную, которая будет использоваться позже.
Должен ли я конвертировать $ date в Ymd
, добавить 1 день, а затем преобразовать обратно в mdY
? Было бы лучше узнать, как использовать DateTime
?
там вы идете
$date = "04-15-2013"; $date1 = str_replace('-', '/', $date); $tomorrow = date('md-Y',strtotime($date1 . "+1 days")); echo $tomorrow;
это выведет
04-16-2013
Документация для обеих функций
Дата
StrToTime
$date = DateTime::createFromFormat('md-Y', '04-15-2013'); $date->modify('+1 day'); echo $date->format('md-Y');
Смотрите это в действии
Или в PHP 5.4+
echo (DateTime::createFromFormat('md-Y', '04-15-2013'))->modify('+1 day')->format('md-Y');
Справка
DateTime::createFromFormat()
используйте http://www.php.net/manual/en/datetime.add.php, как
$date = date_create('2000-01-01'); date_add($date, date_interval_create_from_date_string('1 days')); echo date_format($date, 'Ym-d');
вывод
2000-01-2
$date = strtotime("+1 day"); echo date('md-y',$date);
Формат, который вы использовали, не распознается strtotime (). замещать
$date = "04-15-2013";
от
$date = "04/15/2013";
Или, если вы хотите использовать, -
используйте следующую строку с годом впереди:
$date = "2013-04-15";
На самом деле я хотел такой же вещи, Чтобы получить один год назад, на определенную дату! 🙂
С подсказкой выше ответа от @mohammad mohsenipur я получил следующую ссылку , по его ссылке!
К счастью, существует метод, аналогичный методу date_add с именем date_sub! 🙂 Я делаю следующее, чтобы сделать то, что я хотел!
$date = date_create('2000-01-01'); date_sub($date, date_interval_create_from_date_string('1 years')); echo date_format($date, 'Ym-d');
Надеюсь, этот ответ тоже поможет кому-то! 🙂
Удачи, ребята!