PHP에서 date_sunset ()은 지정된 날짜, 지리적 위치 및 기타 매개 변수를 기반으로 태양의 일몰 시간을 계산하는 데 사용할 수있는 매우 실용적인 기능입니다. 이 기사는이 기능을 사용하여 그리니치 시간 (GMT)에서 일몰 시간을 얻고 특정 사용의 예를 제공하는 방법을 소개합니다.
date_sunset(
int $timestamp,
int $format = SUNFUNCS_RET_STRING,
?float $latitude = ini_get("date.default_latitude"),
?float $longitude = ini_get("date.default_longitude"),
float $zenith = ini_get("date.sunset_zenith"),
float $gmt_offset = ini_get("date.default_timezone") // PHP 8.1+ 제거됨
): string|int|float|false
그러나 실제로 사용하면 일반적인 통화 방법이 특히 PHP 8.0 이하에서 더 간단합니다.
그리니치 타임 (GMT)은 경도 0 에 해당하며 51.4769 의 위도 (즉, 영국의 그리니치 전망대 근처)를 예를 들어 선택할 수 있습니다. 핵심 요점은 gmt_offset을 0으로 설정하여 반환 된 시간이 GMT 시간이되도록하는 것입니다.
<?php
// 현재 타임 스탬프를 오늘날로 설정하십시오 12:00 PM
$timestamp = strtotime('today noon');
// 그리니치 위치
$latitude = 51.4769;
$longitude = 0.0005;
// 사용 date_sunset 얻다 GMT 아래의 일몰 시간(문자열 형식의 시간을 반환합니다)
$sunset = date_sunset(
$timestamp,
SUNFUNCS_RET_STRING,
$latitude,
$longitude,
90, // zenith 기본값,一般사용 90
0 // GMT 오프셋입니다 0
);
echo "그리니치 시간아래의 일몰 시간为: $sunset";
?>
출력 예제 (현재 날짜에 따라) :
그리니치 시간아래의 일몰 시간为: 19:58
PHP 8.1+의 변경 사항 : PHP 8.1 이후 GMT_OFFSET 매개 변수가 제거되었으므로 GMT 오프셋을 직접 지정할 수 없습니다. PHP 8.1 이상을 사용하는 경우 기본 시간대를 UTC 로 설정하는 것이 좋습니다.
권장 관행 (PHP 8.1+) :
<?php
date_default_timezone_set('UTC');
$timestamp = strtotime('today noon');
$latitude = 51.4769;
$longitude = 0.0005;
$sunset = date_sunset(
$timestamp,
SUNFUNCS_RET_STRING,
$latitude,
$longitude,
90
);
echo "그리니치 시간(UTC)아래의 일몰 시간为: $sunset";
?>
결과 형식 : sunfuncs_ret_timestamp를 사용하여 Unix 타임 스탬프를 얻거나 sunfuncs_ret_double을 사용하여 부동 소수점 형식을 얻을 수 있습니다 (예 : 19.58).
date_sunset () 함수를 통해 지정된 날짜에 지리적 위치의 일몰 시간을 쉽게 얻을 수 있습니다. 그리니치 타임 (GMT)을 얻으려면 열쇠는 그리니치 천문대 근처의 좌표로 위도와 경도를 설정하고 시간대 오프셋을 0으로 설정하는 것입니다 (또는 기본 시간대를 UTC로 설정) .