현재 위치: > 최신 기사 목록> date_sunset () 및 dateTimezone은 여러 곳에서 일몰 시간 비교를 달성합니다.

date_sunset () 및 dateTimezone은 여러 곳에서 일몰 시간 비교를 달성합니다.

M66 2025-05-31

많은 응용 시나리오에서 다른 도시의 일몰 시간을 이해하는 것이 일반적인 요구 사항입니다. PHP는 date_sunset () 함수를 제공하며 지정된 위치에서 일몰 시간을 계산할 수 있습니다. DateTimezone 클래스와 결합하여 여러 도시에서 일몰 시간 비교를 쉽게 달성 할 수 있습니다. 이 기사는 샘플 코드를 사용하여 dateTimezone을 사용하여 Date_Sunset () 을 사용하는 방법을 소개합니다.

1. date_sunset () 함수를 사용하십시오

date_sunset () 함수는 PHP로 내장 된 매우 편리한 날짜 및 시간 기능으로 지정된 위치의 일몰 시간을 얻습니다. 기본 구문은 다음과 같습니다.

 date_sunset(int $timestamp, int $format = SUNFUNCS_RET_STRING, float $latitude = 0, float $longitude = 0, float $zenith = 90.83, float $gmt_offset = 0)
  • $ 타임 스탬프 : 지정된 타임 스탬프.

  • $ 형식 : sunfuncs_ret_string , sunfuncs_ret_timestamp , sunfuncs_ret_double 등이 될 수있는 형식을 반환합니다.

  • $ 위도$ 경도 : 위치의 위도와 경도를 지정합니다.

  • $ Zenith : 태양의 천문학적 위치, 90.83 (즉, 천문학적 일몰 지점).

  • $ gmt_offset : 시간대의 오프셋.

2. DateTimezone 클래스와 함께 사용하십시오

지역에서보다 정확한 일몰 시간을 얻으려면 PHP의 DateTimezone 클래스를 사용할 수있어 다른 시간 영역을 지정할 수 있습니다. date_sunset () 함수와 함께 시간대를 사용하면 정확한 일몰 시간을 계산할 수 있습니다.

3. 코드 예제 : 여러 도시의 일몰 시간 비교

다음 PHP 코드 예제는 DateTimezone 클래스와 함께 date_sunset ()을 사용하여 다른 도시의 일몰 시간을 비교하는 방법을 보여줍니다. 이 예에서, 우리는 비교를 위해 뉴욕, 런던, 베이징의 세 도시를 선택했습니다.

 <?php
// 도시와 시간대의 위도와 경도 정의
$locations = [
    'New York' => [
        'latitude' => 40.7128,
        'longitude' => -74.0060,
        'timezone' => 'America/New_York'
    ],
    'London' => [
        'latitude' => 51.5074,
        'longitude' => -0.1278,
        'timezone' => 'Europe/London'
    ],
    'Beijing' => [
        'latitude' => 39.9042,
        'longitude' => 116.4074,
        'timezone' => 'Asia/Shanghai'
    ]
];

// 현재 타임 스탬프
$timestamp = time();

// 각 도시에서 일몰 시간을 수출합니다
foreach ($locations as $city => $info) {
    // 시간대 객체를 얻으십시오
    $timezone = new DateTimeZone($info['timezone']);
    
    // 도시의 일몰 시간을 계산하십시오
    $sunset = date_sunset($timestamp, SUNFUNCS_RET_TIMESTAMP, $info['latitude'], $info['longitude']);
    
    // 만들다 DateTime 객체 및 시간대를 설정하십시오
    $sunset_time = new DateTime("@$sunset");
    $sunset_time->setTimezone($timezone);
    
    // 형식 출력 일몰 시간
    echo "The sunset time in $city is: " . $sunset_time->format('Y-m-d H:i:s') . " (" . $info['timezone'] . ")\n";
}
?>

4. 코드 설명

  • 우리는 위도와 경도 및 시간대의 세 도시를 정의합니다. DateTimezone 클래스를 사용하여 각 도시의 시간대 개체를 얻으면 계산 된 일몰 시간이 현지 시간을 기준으로합니다.

  • date_sunset () 함수를 사용하여 각 도시의 일몰 시간을 계산하십시오. 이 함수는 결과를 UNIX 타임 스탬프 형식으로 리턴합니다.

  • DateTime 객체를 작성하고 settimezone () 메소드를 사용하여 올바른 시간대를 설정 한 다음 YMD H : I : S 의 날짜 시간 형식으로 출력을 포맷합니다.

5. 결과 출력

2025 년 4 월 26 일에 현재 시간이 12:00:00 UTC라고 가정하면이 프로그램은 다음과 비슷한 것을 출력합니다.

 The sunset time in New York is: 2025-04-26 19:50:00 (America/New_York)
The sunset time in London is: 2025-04-26 20:10:00 (Europe/London)
The sunset time in Beijing is: 2025-04-26 19:30:00 (Asia/Shanghai)

이런 식으로, 우리는 다른 도시에서 일몰 시간을 쉽게 비교할 수 있으며 출력 형식은 유연하고 정확합니다.