PHP – добавьте формат от 1 дня до даты mm-dd-yyyy

<?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'); 

Надеюсь, этот ответ тоже поможет кому-то! 🙂

Удачи, ребята!