如何根据日期字符串计算相对日期

时间:2009-06-10 14:14:03

标签: php date

我想在用户提供的日期之后找到的日期

这不起作用:

$start_date = '2009-06-10';

$next_day = date( $start_date, strtotime('+1 day') );     

echo $next_day; // 2009-06-10

3 个答案:

答案 0 :(得分:2)

尝试date_modify:

$d = new DateTime("2009-01-01"); 
date_modify($d, "+1 day"); 
echo $d->format("Y-m-d");

http://us3.php.net/manual/en/datetime.modify.php处的文档。

答案 1 :(得分:1)

$start_date = '2009-06-10';

$next_day = date( 'Y-m-d', strtotime( '+1 day', strtotime($start_date) ) );

echo $next_day; // 2009-06-11

答案 2 :(得分:0)

$start_date = '2009-06-10';
$next_day = new DateTime($start_date)->modify("+1 day")->format("Y-m-d"); 

修改

正如Kristina指出这种方法不起作用,因为DateTime :: modify不会像我怀疑的那样返回修改日期。 (PHP,我讨厌你的不一致!)

此代码现在按预期工作,并且看起来比date_modify更加一致:)

$start_date = '2009-06-10';

$next_day = new DateTime($start_date);
$next_day->modify("+1 day")

echo $next_day->format("Y-m-d");