[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Увеличить дату на 1 день
workuspeh
Как можно изменить определенную дату (не текущую) на один день?
Дата вводится с <input> выглядит она в формате Y-m-d

удалось сделать только:
$d2 = date('d', strtotime($_POST[date2]));
$m2 = date('m', strtotime($_POST[date2]));
$y2 = date('Y', strtotime($_POST[date2]));
$d2 = $d2+1;

$date2 = $y2."-".$m2."-".$d2;
echo $date2;


Такое решение не подходит если попадается последний день месяца, или от 1 до 8, ибо пишет он этот день без нуля.



Спустя 10 минут, 26 секунд (15.06.2012 - 11:43) Winston написал(а):
echo date('d m y', strtotime('+1 day', strtotime('15-06-2012')));

Спустя 7 минут, 14 секунд (15.06.2012 - 11:51) Placido написал(а):
$date = new DateTime($_POST['date2']);
$date->add(new DateInterval('P1D'));
echo $date->format('Y-m-d');

Спустя 17 минут, 50 секунд (15.06.2012 - 12:08) Invis1ble написал(а):
echo date('Y-m-d', strtotime($_POST['date2']) + 60 * 60 * 24); // это для наглядности, лучше сразу заменить на 86400

Спустя 14 минут, 44 секунды (15.06.2012 - 12:23) Placido написал(а):
А если год 2039? wink.gif

Цитата
strtotime

Замечание:
Корректным диапазоном временных меток обычно являются даты с 13 декабря 1901 20:45:54 UTC по 19 января 2038 03:14:07 UTC.
...
Замечание:
Не рекомендуется использовать эту функцию для математических операций. Целесообразней использовать DateTime::add() и DateTime::sub() начиная с PHP 5.3, или DateTime::modify() в PHP 5.2.

Спустя 13 минут, 30 секунд (15.06.2012 - 12:37) workuspeh написал(а):
Winston - если подставлять так:
Цитата
echo date('Y-m-d', strtotime('+1 day', strtotime($_POST['date2'])));

выводит дату: 1970-01-02

Placido выходит ошибка: Call to undefined method DateTime::add()

Invis1ble работает, спасибо

Спустя 1 минута, 44 секунды (15.06.2012 - 12:38) Invis1ble написал(а):
не рекомендуется, это не значит, что нельзя wink.gif
но в целом ты прав
не знал насчет существования modify(), спасибо )

Спустя 3 минуты, 10 секунд (15.06.2012 - 12:42) Placido написал(а):
Цитата (workuspeh @ 15.06.2012 - 12:37)
Placido выходит ошибка: Call to undefined method DateTime::add()

Значит, версия PHP < 5.3.


_____________
только начинаю изучать php
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.