2010-03-08 6 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; 

, BTW 이미

date_default_timezone_set('Europe/London'); 

설정을 그리고 결과는 2010 4월 5일 누락 삼일. 왜 그런 일이 일어나는가? 나는 그들이 strtotime의 약간의 버그 다라고 들었다? 그게 사실이라면, 올바른 것을 얻는 방법?

$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)) ; 
관련 문제