2010-03-08 72 views
1

我有這樣的代碼:PHP strtotime問題,給出不正確的值?

$date = '2010-03-08 8:10:20' 
$new_date = date('Y-m-d H:i:s', strtotime($date . " +1 month")); 
echo $new_date; 

順便說一句,我已經設置

date_default_timezone_set('Europe/London'); 

,其結果是:2010年4月5,3天失蹤。爲什麼會發生?我聽說他們在時間上有一些錯誤?如果是這樣的話,如何得到一個正確的?我的意思是,有另一種方式來代替這個:

$new_date = date('Y-m-d H:i:s', strtotime($date . " +1 month")); // or +2, +3... +100 

回答

0

我這樣做:

date_default_timezone_set('Europe/London'); 

$date = '2010-03-08 8:10:20'; 
$new_date = date('Y-m-d H:i:s', strtotime($date . " +1 month")); 
echo $new_date; 

,並得到

2010-04-08 08:10:20 

所以你有一些其他的問題。

1

使用mktime函數:

$date = date ('Y-m-d H:i:s', mktime (arguments) + one_month_epoch_value)) ;