현재 위치: > 최신 기사 목록> PHP의 date_sunset () 함수를 통해 그리니치 시간 (GMT)에서 일몰 시간을 얻는 방법?

PHP의 date_sunset () 함수를 통해 그리니치 시간 (GMT)에서 일몰 시간을 얻는 방법?

M66 2025-06-03

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에서 일몰 시간을 얻으십시오

그리니치 타임 (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

주목해야 할 것

  1. PHP 8.1+의 변경 사항 : PHP 8.1 이후 GMT_OFFSET 매개 변수가 제거되었으므로 GMT 오프셋을 직접 지정할 수 없습니다. PHP 8.1 이상을 사용하는 경우 기본 시간대를 UTC 로 설정하는 것이 좋습니다.

  2. 권장 관행 (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";
?>
  1. 결과 형식 : sunfuncs_ret_timestamp를 사용하여 Unix 타임 스탬프를 얻거나 sunfuncs_ret_double을 사용하여 부동 소수점 형식을 얻을 수 있습니다 (예 : 19.58).

요약

date_sunset () 함수를 통해 지정된 날짜에 지리적 위치의 일몰 시간을 쉽게 얻을 수 있습니다. 그리니치 타임 (GMT)을 얻으려면 열쇠는 그리니치 천문대 근처의 좌표로 위도와 경도를 설정하고 시간대 오프셋을 0으로 설정하는 것입니다 (또는 기본 시간대를 UTC로 설정) .