현재 위치: > 최신 기사 목록> 날짜 _sunset () 및 date_sunrise ()를 일일 길이를 얻으려면

날짜 _sunset () 및 date_sunrise ()를 일일 길이를 얻으려면

M66 2025-05-31

PHP에서는 date_sunset ()date_sunrise () 함수를 통해 일몰과 일출 시간을 얻을 수 있습니다. 이 두 함수의 반환 값을 결합하여 하루의 주간 지속 시간을 계산할 수 있습니다. 이 기사는이 목표를 달성하는 방법을 보여줍니다.

1. 소개

  • date_sunset () 함수는 주어진 날짜와 위치의 일몰 시간을 얻는 데 사용됩니다.

  • date_sunrise () 함수는 주어진 날짜 및 위치의 일출 시간을 얻는 데 사용됩니다.

이러한 함수의 반환 값은 Unix 타임 스탬프이며,이를 기준으로 주간 기간을 계산할 수 있습니다. 위도 및 경도 및 날짜 매개 변수를 적절하게 설정하면 전 세계 어디에서나 일광 기간을 얻을 수 있습니다.

2. 함수 매개 변수

date_sunset ()date_sunrise () 에는 몇 가지 매개 변수가 있습니다. 가장 일반적으로 사용되는 두 가지 매개 변수는 다음과 같습니다.

  • 타임 스탬프 : 날짜와 시간을 나타내는 타임 스탬프, 일반적으로 시간 ()을 사용하여 현재 시간을 얻습니다.

  • 위도 : 위도, 지리적 위치의 북 위도 (양수) 또는 남쪽 위도 (음수)를 나타냅니다.

  • 경도 : 경도, 지리적 위치의 동부 경도 (양성) 또는 서부 경도 (음성)를 나타냅니다.

  • Zenith : 일출과 일몰을 위해 태양의 높이 각도 (보통 90.5도)를 계산하는 데 사용됩니다.

3. 샘플 코드

다음으로 간단한 예제로 하루의 일광 지속 시간을 계산해 봅시다.

 <?php

// 날짜 및 위치 매개 변수를 설정합니다
$latitude = 40.7128;  // 뉴욕의 위도
$longitude = -74.0060; // 뉴욕의 경도
$timestamp = time();   // 현재 타임 스탬프

// 일출과 일몰 시간을 얻으십시오(반환 값은입니다 Unix 타임 스탬프)
$sunrise = date_sunrise($timestamp, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);
$sunset = date_sunset($timestamp, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);

// 일광 지속 시간을 계산하십시오(초 단위)
$day_length = $sunset - $sunrise;

// 몇 시간과 몇 분으로 변환하십시오
$hours = floor($day_length / 3600);
$minutes = floor(($day_length % 3600) / 60);

// 출력 결과
echo "낮:$hours 시간 $minutes 분\n";

?>

코드 설명

  1. 매개 변수 설정 : 현재 타임 스탬프뿐만 아니라 뉴욕의 위도와 경도 (40.7128 ° N, 74.0060 ° W)를 설정했습니다.

  2. call date_sunrise ()date_sunset () :이 두 함수는 각각 일출과 일몰의 타임 스탬프를 반환합니다.

  3. 주간 시간 계산 : 일출 타임 스탬프에서 일몰 타임 스탬프를 빼면 주간 지속 시간 (초)을 얻을 수 있습니다.

  4. 전환 기간 : 쉽게 출력 할 수 있도록 초를 몇 시간 및 몇 분으로 변환합니다.

4. 결과

이 코드를 실행할 때 현재 날짜는 2025 년 4 월 26 일이고 뉴욕의 주간 기간은 13 시간 15 분이라고 가정합니다. 특정 값은 오늘의 날짜 및 지리적 위치에 따라 다릅니다.

5. 다른 시간대 또는 위치에 맞게 조정하십시오

다른 위치의 주간 지속 시간을 계산하려면 다른 위도와 장기에 따라 해당 값을 설정할 수 있습니다. 예를 들어, 베이징의 주간 기간을 계산하려면 위도와 경도를 다음과 같이 조정할 수 있습니다.

 $latitude = 39.9042;  // 베이징의 위도
$longitude = 116.4074; // 베이징의 경도

같은 원칙은 다른 도시에 적용되므로 위도와 경도 만 수정하면됩니다.

6. 주목할만한 것들

  • date_sunset ()date_sunrise () 함수에 의해 반환 된 타임 스탬프는 UTC (조정 된 범용 시간)를 기반으로하므로 현지 시간을 표시 해야하는 경우 시간대에 따라 변환해야합니다.

  • 이 두 기능은 타임 스탬프, 형식의 문자열 등을 포함한 여러 반환 형식을 지원합니다. return 값의 형식을 변경하는 데 필요에 따라 date_sunset ()date_sunrise () 의 두 번째 매개 변수를 조정할 수 있습니다.