2009-06-10 79 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");