현재 위치: > 최신 기사 목록> PHP에서 date_sunset () 함수를 사용하여 지정된 날짜의 일몰 시간을 얻는 방법?

PHP에서 date_sunset () 함수를 사용하여 지정된 날짜의 일몰 시간을 얻는 방법?

M66 2025-06-29

php에서 date_sunset () 함수는 지정된 날짜 및 장소의 일몰 시간을 얻는 데 사용됩니다. 이는 일기 예보, 일일 계획 또는 지리와 관련된 응용 프로그램을 개발하는 데 매우 유용합니다. 아래에서는이 기능을 사용하는 방법에 대해 자세히 설명하고 실용적인 예를 제시 할 것입니다.

date_sunset () 함수의 기본 사용

date_sunset () 함수의 기본 프로토 타입은 다음과 같습니다.

 date_sunset ( int $timestamp , int $returnFormat = SUNFUNCS_RET_STRING , float $latitude , float $longitude , float $zenith = 90.5 , float $gmt_offset = 0 )

매개 변수 설명 :

  • $ 타임 스탬프 :이 매개 변수는 지정된 타임 스탬프를 나타냅니다. 당신이 통과하는 타임 스탬프가 미래의 날짜 인 경우, 기능은 미래의 일몰 시간을 반환합니다.

  • $ returnformat :이 매개 변수는 반환 된 형식을 결정합니다. 기본값은 sunfuncs_ret_string 이므로 리턴 문자열 형식을 의미합니다 (예 : "18:30:00"). Unix 타임 스탬프 형식을 반환하거나 시간이 지남에 따라 배열을 반환하도록 선택할 수도 있습니다.

  • $ 위도$ 경도 :이 두 매개 변수는 관찰 위치의 위도와 경도를 지정합니다. 이러한 매개 변수를 사용하면 PHP는 특정 위치에서 일몰 시간을 계산할 수 있습니다.

  • $ Zenith :이 매개 변수는 태양의 천문학적 위치를 나타냅니다. 기본값은 90.5로 천문학적 일몰 각도를 나타냅니다. 필요에 따라이 값을 조정할 수 있습니다.

  • $ gmt_offset :이 매개 변수는 GMT의 시차를 나타내고 기본값은 0입니다.

샘플 코드 : 지정된 날짜의 일몰 시간 받기

다음 샘플 코드는 날짜 _sunset () 함수를 사용하여 특정 위치 (예 : 베이징)에서 지정된 날짜 (예 : "2025-04-25")에 일몰 시간을 얻는 방법을 보여줍니다.

 <?php
// 시간대를 설정하십시오
date_default_timezone_set('Asia/Shanghai');

// 날짜와 위도 및 경도를 입력하십시오(베이징의 위도와 경도)
$date = '2025-04-25';
$latitude = 39.9042; // 베이징 위도
$longitude = 116.4074; // 베이징 경도

// 날짜를 타임 스탬프로 변환합니다
$timestamp = strtotime($date);

// 사용 date_sunset() 일몰 시간을 얻으십시오
$sunset = date_sunset($timestamp, SUNFUNCS_RET_STRING, $latitude, $longitude);

// 출력 일몰 시간
echo "지정된 날짜:$date 일몰 시간입니다:$sunset";
?>

구문 분석 코드 :

  1. 시간대 설정 : 시간 계산이 올바른지 확인하기 위해 date_default_timezone_set () 함수를 통해 시간대를 "아시아/상하이"로 설정합니다.

  2. 날짜 및 위치 : 우리는 날짜 (2025 년 4 월 25 일)와 베이징의 위도와 경도를 명시했습니다.

  3. TimeStamp 변환 : strtotime () 함수를 사용하여 날짜 문자열을 타임 스탬프로 변환합니다.

  4. CALL DATE_SUNSET () :이 기능은 주어진 타임 스탬프, 위도 및 경도 및 기타 매개 변수에 따라 일몰 시간을 계산합니다. 여기서 우리는 문자열 형식을 반환하기로 선택합니다.

  5. 출력 일몰 시간 : 마지막으로 계산 된 일몰 시간을 출력하십시오.

출력 결과 :

위의 코드를 실행하면 출력이 다음과 같습니다.

 지정된 날짜:2025-04-25 일몰 시간입니다:18:31:00

더 많은 반환 형식

date_sunset () 도 전달한 $ returnformat 매개 변수에 따라 다른 반환 형식을 지원합니다. sunfuncs_ret_string (문자열 형식) 외에도 다음 상수를 사용할 수도 있습니다.

  • SunFuncs_RET_TIMESTAMP : UNIX 타임 스탬프 형식을 반환합니다.

  • Sunfuncs_ret_array : 일몰 시간 및 관련 정보가 포함 된 배열을 반환합니다.

예를 들어, sunfuncs_ret_timestamp를 사용하여 Unix 타임 스탬프 형식을 반환합니다.

 $sunset_timestamp = date_sunset($timestamp, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);
echo "Unix 타임 스탬프 형식의 일몰 시간:$sunset_timestamp";

참고 :

  • date_sunset () 함수는 모든 날짜에 대해 작동하지 않습니다. 주어진 날짜가 일몰 시간 (예 : 극지 지역의 여름 또는 겨울)을 계산할 수없는 경우, 거짓이 반환 될 수 있습니다.

  • 일몰 시간은 지리적 위치에 의존하기 때문에 위도와 경도의 선택은 매우 중요합니다.