Add days to current date from MySQL with PHP

北战南征 提交于 2019-12-01 16:32:33

问题


I have a fixed date from MySql

startDate = 07/03/2011

I wanted to add 60 days on top this date to have an endDate.

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

From my research, I know it has something do with strtotime, but all the sites I come across with based the start date from current workstation's time. My date is already fixed and entered prior to running and getting the endDate.

Help? Thanks in advance!


回答1:


In addition to PHP solutions others are providing, you can create the endDate right inside of MySQL and save yourself some of the trouble:

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;

Relevant documentation here...




回答2:


You could reformat the results of strtotime()

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

Demo: http://codepad.org/9rWnoeQb




回答3:


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



回答4:


86400 seconds in a day, times number of days.. and add it to current time.

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


来源:https://stackoverflow.com/questions/6564594/add-days-to-current-date-from-mysql-with-php

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!