이전 글 "PHP를 통해 특정 연월일의 총 일수를 계산하는 방법"에서는 특정 연월일의 총 일수를 계산하는 방법을 소개했습니다. 이번에는 방법을 단순화하고 strtotime() 함수를 사용하여 총 일수를 계산하는 방법을 보여 드리겠습니다.
이 글의 주제는: 연, 월, 일이 주어졌을 때 오늘까지의 총 일수를 계산하는 것입니다.
이것을 어떻게 계산하나요? 잘 모르겠으면 방향을 바꿔 단순화시켜보자. 그냥 x년 1월 1일과 x월 x일 사이의 일수를 구하는 것이 바로 시차를 구하는 것이 아닐까? 두 날짜 사이. 그렇다면 시차를 구하는 방법은 무엇일까요?
먼저 두 날짜를 x년 1월 1일과 x월 x일을 타임스탬프로 변환해야 합니다.
$startdate = strtotime("{$year}-01-01"); $enddate = strtotime("{$year}-{$month}-{$day}");
그런 다음 두 타임스탬프를 뺍니다(종료 시간 - 시작 시간)
$diff_seconds = $enddate-$startdate;
이렇게 하면 시차가 계산됩니다. 두 날짜 사이에 있지만 여전히 초 단위로 계산되므로 읽기에 도움이 되지 않습니다.
하루는 24시간, 한 시간은 60분, 1분은 60초이기 때문입니다. 24*60*60=86400
환산하면 하루는 86,400초입니다.
시차 $diff_seconds를 86400으로 나눈 다음, Floor()를 사용하여 가장 가까운 정수로 내림합니다
$time = floor(($diff_seconds)/86400);
이때 얻는 것은 일 x 월 x 일을 제외한 일수 차이에 1을 더한 것입니다. 특정 연도의 특정 달의 특정 날짜에 끝나는 총 일수입니다.
완전한 코드를 살펴보겠습니다:
function GetDays($year,$month,$day){ $startdate = strtotime("{$year}-01-01"); $enddate = strtotime("{$year}-{$month}-{$day}"); $diff_seconds = $enddate-$startdate; $time = floor(($diff_seconds)/86400); $day = $time+1; echo "截止{$year}-{$month}-{$day} 共有 {$day} 天<br>"; }
테스트: 2000-3-5를 기준으로 총 일수를 계산합니다(2000년은 윤년이므로 31+29+5=65)
GetDays(2000,3,5);
출력 결과는 다음과 같습니다.
네, 총 일수가 정확합니다! GetDays($year,$month,$day) 함수를 사용하면 1년의 총 일수도 계산할 수 있습니다
GetDays(2000,12,31); GetDays(2021,12,31);
출력 결과는 다음과 같습니다.
알고 싶다면 그게 전부입니다. 다른 것이 있으면 이것을 클릭하세요. → →php 비디오 튜토리얼
위 내용은 특정 연도의 특정 달, 특정 날짜까지 남은 일수를 계산하는 PHP 함수 응용 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!