월 롤오버로 날짜 추가 수정
귀하의 코드는 날짜에 하루를 추가하려고 하는데 그 이전 날짜를 반환하는 것 같습니다. 추가. 문제를 자세히 조사하고 추가 시 몇 달이 지나면 올바르게 롤오버되는 솔루션을 제공하겠습니다.
문제가 있는 코드:
$stop_date = date('Y-m-d H:i:s', strtotime("2009-09-30 20:24:00")); echo 'date before day adding: '.$stop_date; $stop_date = date('Y-m-d H:i:s', strtotime('+1 day', $stop_date)); echo ' date after adding one day. SHOULD be rolled over to the next month: '.$stop_date;
오류는 추가를 수행하는 줄에 있습니다.
$stop_date = date('Y-m-d H:i:s', strtotime('+1 day', $stop_date));
이 줄은 strtotime() 함수를 사용하여 날짜를 조작합니다. 그러나 '1일'과 같이 시간 오프셋을 지정하면 월이 올바르게 이월되지 않습니다.
해결 방법
일을 올바르게 추가하고 월을 이월하려면 필요한 경우 다음 접근 방식 중 하나를 사용할 수 있습니다.
PHP 5.3 :
$stop_date = '2009-09-30 20:24:00'; echo 'date before day adding: ' . $stop_date; $stop_date = date('Y-m-d H:i:s', strtotime($stop_date . ' +1 day')); echo 'date after adding 1 day: ' . $stop_date;
PHP 5.2 :
$stop_date = new DateTime('2009-09-30 20:24:00'); echo 'date before day adding: ' . $stop_date->format('Y-m-d H:i:s'); $stop_date->modify('+1 day'); echo 'date after adding 1 day: ' . $stop_date->format('Y-m-d H:i:s');
이러한 솔루션은 지정된 날짜에 하루를 올바르게 추가하고 필요에 따라 월을 이월합니다.
위 내용은 날짜에 하루를 추가해도 다음 달로 이월되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!