Добавить дни к текущей дате из MySQL с PHP

У меня фиксированная дата от MySql

startDate = 07/03/2011

Я хотел добавить 60 дней к этой дате, чтобы иметь дату окончания.

$startDate = $result['startDate'];
$endDate = ??? + strtotime("+60 days");
echo $endDate;

Из моего исследования я знаю, что это как-то связано с strtotime, но все сайты, с которыми я сталкиваюсь, основаны на дате начала с текущей рабочей станции. Моя дата уже зафиксирована и введена до запуска и получения endDate.

Помогите? Заранее спасибо!

4 ответа

Решение

В дополнение к решениям PHP, которые предоставляют другие, вы можете создать endDate прямо в MySQL и избавьте себя от некоторых неприятностей:

SELECT startDate, DATE_ADD(startDate, INTERVAL 60 DAY) AS endDate FROM table;

-- Or by months (not exactly the same thing)
SELECT startDate, DATE_ADD(startDate, INTERVAL 2 MONTH) AS endDate FROM table;

Соответствующая документация здесь...

Вы можете переформатировать результаты strtotime()

$startDate = $result['startDate']; // 07/03/2011
$endDate = date("m/d/Y", strtotime("$startDate +60 days"));

Демо: http://codepad.org/9rWnoeQb

$startDate = "07/03/2011";
$endDate = strtotime("+60 days",time($startDate));
$formatted = date('m/d/Y',$endDate);
echo $endDate . "<br/>" . $formatted;

86400 секунд за день, умноженное на количество дней.. и добавьте его к текущему времени.

$nextMonth = time()+86400*60;
echo date("Y-m-d H:i:s", $nextMonth);  
Другие вопросы по тегам