2009-06-10 82 views
0

我想找到的日期后用户如何基于日期字符串

这提供了一个日期计算相对日期不工作:

$start_date = '2009-06-10'; 

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

echo $next_day; // 2009-06-10 

回答

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

为什么不直接使用从日期时间的“修改”的方法? – VVS 2009-06-10 14:28:34

+0

DateTime :: modify是date_modify的别名。 – kristina 2009-06-10 14:43:43

1
$start_date = '2009-06-10'; 

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

echo $next_day; // 2009-06-11 
+1

第二行可能只是:$ next_day = date('Y-m-d',strtotime($ start_date。'+1 day')); – 2009-06-10 14:57:23

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

编辑:

正如克里斯蒂娜指出,这种方法,因为日期时间不起作用::修改,因为我怀疑不会返回修改日期。 (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");