У меня есть фиксированная дата из MySql
startDate = 07/03/2011
Я хотел добавить 60 дней на эту дату, чтобы иметь endDate.
$startDate = $result['startDate']; $endDate = ??? + strtotime("+60 days"); echo $endDate;
Из моих исследований я знаю, что это что-то делает с strtotime, но все сайты, с которыми я сталкиваюсь, основаны на дате начала с текущей рабочей станции. Моя дата уже исправлена и введена до запуска и получения endDate.
Помогите? Заранее спасибо!
В дополнение к решениям 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("Ymd H:i:s", $nextMonth);