Добавить дни к текущей дате из 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"));
$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);