Add days to current date from MySQL with PHP

2020-04-05 10:32发布

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!

4条回答
Viruses.
2楼-- · 2020-04-05 11:05

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...

查看更多
Fickle 薄情
3楼-- · 2020-04-05 11:11
$startDate = "07/03/2011";
$endDate = strtotime("+60 days",time($startDate));
$formatted = date('m/d/Y',$endDate);
echo $endDate . "<br/>" . $formatted;
查看更多
贼婆χ
4楼-- · 2020-04-05 11:16

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);  
查看更多
成全新的幸福
5楼-- · 2020-04-05 11:18

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

查看更多
登录 后发表回答