Добавить дни к текущей дате из MySQL с PHP - PullRequest
6 голосов
/ 03 июля 2011

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

startDate = 07/03/2011

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

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

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

Помощь? Заранее спасибо!

Ответы [ 4 ]

8 голосов
/ 03 июля 2011

В дополнение к решениям 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;

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

5 голосов
/ 03 июля 2011

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

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

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

2 голосов
/ 03 июля 2011
$startDate = "07/03/2011";
$endDate = strtotime("+60 days",time($startDate));
$formatted = date('m/d/Y',$endDate);
echo $endDate . "<br/>" . $formatted;
1 голос
/ 03 июля 2011

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

$nextMonth = time()+86400*60;
echo date("Y-m-d H:i:s", $nextMonth);  
...