php에서 date_sunset () 함수는 지정된 위치에서 일몰 시간을 얻는 데 사용될 수 있습니다. 이 기능을 사용하면 여러 도시의 일몰 시간을 쉽게 비교하여 순서대로 제시 할 수 있습니다. 이 기사는 PHP를 통해 다른 도시에서 일몰 시간을 얻는 방법을 설명하고 아침부터 밤마다 순서 대로이 시간을 정리할 것입니다.
date_sunset () 은 일몰 시간을 얻기위한 PHP 내장 기능입니다. 기본 구문은 다음과 같습니다.
date_sunset(time, format, latitude, longitude, zenith, gmt_offset);
시간 : 현재 시간의 Unix 타임 스탬프는 일반적으로 time () 함수를 사용하여 얻습니다.
형식 : 시간 형식을 반환합니다. 시간 형식은 sunfuncs_ret_timestamp (returns timestamp), sunfuncs_ret_string (returns string format) 또는 sunfuncs_ret_double (플로팅 시간 수를 반환) 일 수 있습니다.
위도 : 대상 도시의 위도.
경도 : 대상 도시의 경도.
Zenith : 일몰의 표준 높이, 일반적으로 90.5도 (즉, 태양이 수평선에 닿을 때).
gmt_offset : 시간대의 오프셋, 일반적으로 0 또는 다른 시간 영역.
우리는 각 도시에 대한 위도와 경도를 정의하고 date_sunset () 함수를 사용하여 일몰 시간을 얻을 수 있습니다. 베이징, 뉴욕 및 런던의 다음 도시의 일몰 시간을 원한다고 가정 해 봅시다.
다음은 일몰 시간을 얻기위한 샘플 코드입니다.
<?php
// 각 도시의 위도와 경도를 정의하십시오
$cities = [
"Beijing" => ['latitude' => 39.9042, 'longitude' => 116.4074],
"New York" => ['latitude' => 40.7128, 'longitude' => -74.0060],
"London" => ['latitude' => 51.5074, 'longitude' => -0.1278]
];
// 현재 타임 스탬프
$current_time = time();
// 각 도시의 일몰 시간을 보관하십시오
$sunset_times = [];
foreach ($cities as $city => $coords) {
// 각 도시의 일몰 시간을 얻으십시오,타임 스탬프로 형식
$sunset_timestamp = date_sunset($current_time, SUNFUNCS_RET_TIMESTAMP, $coords['latitude'], $coords['longitude']);
// 도시와 일몰 시간을 배열로 보관하십시오
$sunset_times[$city] = $sunset_timestamp;
}
// 일몰 시간을 정렬하십시오
asort($sunset_times);
// 출력 정렬 결과
echo "각 도시의 일몰 시간(순서대로):\n";
foreach ($sunset_times as $city => $sunset) {
echo $city . " 일몰 시간입니다: " . date("Y-m-d H:i:s", $sunset) . "\n";
}
?>
도시와 위도 및 경도 정의 : 우리는 도시의 위도 및 경도 정보가 포함 된 각 도시에 대한 배열을 지정합니다.
현재 시간 가져 오기 : 시간 ()을 통해 현재 UNIX 타임 스탬프를 가져와 일몰 시간을 계산하십시오.
일몰 시간을 얻으려면 루프 : date_sunset () 함수를 사용하여 각 도시의 일몰 시간을 계산하십시오. SunFuncs_RET_TIMESTAMP 형식은 여기에서 더 쉬운 후속 정렬을 위해 타임 스탬프를 반환하는 데 사용됩니다.
일몰 시간 정렬 : Asort () 함수를 통해 일몰 시간별로 오름차순 순서로 배열을 정렬하십시오.
출력 결과 : 마지막으로 타임 스탬프는 날짜 () 함수를 통해 읽을 수있는 날짜 시간 형식으로 변환되며 각 도시의 일몰 시간은 순서대로 출력됩니다.
현재 시간이 2025-04-26 이라고 가정하면 위 코드를 실행 한 후 출력 결과는 다음과 유사합니다.
각 도시의 일몰 시간(순서대로):
New York 일몰 시간입니다: 2025-04-26 19:52:00
London 일몰 시간입니다: 2025-04-26 20:12:00
Beijing 일몰 시간입니다: 2025-04-26 18:45:00
date_sunset ()에 의해 반환 된 시간은 UTC 기반이므로 결과가 표시 될 때 현지 시간으로 변환되도록합니다.
여러 시간 영역의 표시를 지원 해야하는 경우 date_default_timezone_set () 함수를 통해 시간대를 설정할 수 있습니다.
위도 및 경도 및 시간대의 정확도는 결과의 정확도에 영향을 미치므로 정확한 도시 좌표를 사용하십시오.