> 백엔드 개발 > PHP 문제 > 특정 연도의 특정 달, 특정 날짜까지 남은 일수를 계산하는 PHP 함수 응용 프로그램

특정 연도의 특정 달, 특정 날짜까지 남은 일수를 계산하는 PHP 함수 응용 프로그램

青灯夜游
풀어 주다: 2023-03-12 07:26:01
원래의
2846명이 탐색했습니다.

이전 글 "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);
로그인 후 복사

출력 결과는 다음과 같습니다.

특정 연도의 특정 달, 특정 날짜까지 남은 일수를 계산하는 PHP 함수 응용 프로그램

네, 총 일수가 정확합니다! GetDays($year,$month,$day) 함수를 사용하면 1년의 총 일수도 계산할 수 있습니다

GetDays(2000,12,31);
GetDays(2021,12,31);
로그인 후 복사

출력 결과는 다음과 같습니다.

특정 연도의 특정 달, 특정 날짜까지 남은 일수를 계산하는 PHP 함수 응용 프로그램

알고 싶다면 그게 전부입니다. 다른 것이 있으면 이것을 클릭하세요. → →php 비디오 튜토리얼

위 내용은 특정 연도의 특정 달, 특정 날짜까지 남은 일수를 계산하는 PHP 함수 응용 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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