> 백엔드 개발 > PHP 튜토리얼 > 날짜에 하루를 추가해도 다음 달로 이월되지 않는 이유는 무엇입니까?

날짜에 하루를 추가해도 다음 달로 이월되지 않는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-29 11:35:13
원래의
352명이 탐색했습니다.

Why Does Adding a Day to a Date Not Roll Over to the Next Month?

월 롤오버로 날짜 추가 수정

귀하의 코드는 날짜에 하루를 추가하려고 하는데 그 이전 날짜를 반환하는 것 같습니다. 추가. 문제를 자세히 조사하고 추가 시 몇 달이 지나면 올바르게 롤오버되는 솔루션을 제공하겠습니다.

문제가 있는 코드:

$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿