현재 위치: > 최신 기사 목록> 올바른 일몰 시간을 얻기 위해 다른 시간대를 설정하는 방법

올바른 일몰 시간을 얻기 위해 다른 시간대를 설정하는 방법

M66 2025-05-17

시간대 설정은 일몰 시간 관련 기능을 사용하는 PHP 응용 프로그램을 개발할 때 중요한 요소입니다. 일몰 시간은 시간 영역에서 다르기 때문에 정확한 일몰 시간을 얻을 때 시간대가 올바르게 설정되도록해야합니다. 이 기사는 PHP에서 다른 시간대를 설정하고 정확한 일몰 시간을 얻는 방법을 보여줍니다. 우리는 외부 API와 결합 된 PHP 코드를 통해이를 달성 할 것입니다.

1. 시간대를 설정하십시오

php의 date_default_timezone_set () 함수를 사용하면 기본 시간대를 설정할 수 있습니다. 기본적으로 PHP는 시스템의 시간대 설정을 사용하지만이 기능으로이를 재정의 할 수 있습니다. 예를 들어, 다음 코드는 시간대를 뉴욕 시간으로 설정합니다.

 <?php
date_default_timezone_set('America/New_York');
echo '현재 시간은입니다:' . date('Y-m-d H:i:s');
?>

일반 시간 영역 식별자는 다음과 같습니다.

  • 아시아/상하이 (상하이 시간)

  • 유럽/런던 (런던 시간)

  • America/New_york (뉴욕 타임)

PHP 시간대 목록 에서 전체 시간대 목록을 찾을 수 있습니다.

2. 정확한 일몰 시간을 얻으십시오

정확한 일몰 시간을 얻으려면 일반적으로 타사 API 서비스를 호출해야합니다. 일반적으로 사용되는 API는 Sunset and Sunrise Times API 입니다. 이 API를 통해 위도 및 경도 및 시간대 정보를 전달하여 특정 장소의 일몰 시간을 얻을 수 있습니다.

다음은이 API를 사용하여 특정 장소에서 일몰 시간을 얻는 예입니다.

 <?php
// 시간대를 설정하십시오
date_default_timezone_set('Asia/Shanghai');

// 위도와 경도를 설정하십시오
$latitude = 31.2304;  // 상하이의 위도
$longitude = 121.4737; // 상하이의 경도

// 사용API일몰 시간을 얻으십시오
$api_url = "https://api.sunset-sunrise.org/json?lat={$latitude}&lng={$longitude}&formatted=0";
$response = file_get_contents($api_url);
$data = json_decode($response, true);

// 일몰 시간을 분석하십시오
$sunset_time = $data['results']['sunset'];
echo '상하이의 일몰 시간은입니다:' . $sunset_time;
?>

이 코드에서는 file_get_contents () 함수를 사용하여 API 요청을 보내고 json_decode () 를 통해 반환 된 JSON 데이터를 구문 분석합니다. $ data [ 'results'] [ 'Sunset'] 에는 일몰 시간이 포함됩니다. 설정 시간대에 따라이 시간을 조정하여 현지 시간을 만나도록 할 수 있습니다.

3. UTC 시간을 현지 시간으로 변환하십시오

얻은 일몰 시간은 일반적으로 UTC 시간이며, 이는 대상 시간대의 현지 시간으로 변환해야합니다. 이것은 DateTime 클래스 및 DateTimezone 클래스를 사용하여 달성 할 수 있습니다.

다음은 UTC 시간을 현지 시간대로 변환하는 방법에 대한 샘플 코드입니다.

 <?php
// 일몰 시간을 얻으십시오(UTC)
$utc_sunset_time = $data['results']['sunset']; // 가정합니다API획득UTC시간

// 만들다DateTime객체와로 설정합니다UTC시간대
$datetime = new DateTime($utc_sunset_time, new DateTimeZone('UTC'));

// 转换为上海시간대
$datetime->setTimezone(new DateTimeZone('Asia/Shanghai'));

// 输出转换后的本地시간
echo '상하이의 일몰 시간은입니다:' . $datetime->format('Y-m-d H:i:s');
?>

이 예에서는 먼저 DateTime 객체를 생성하여 DateTimezone 클래스를 통해 UTC 시간대로 설정합니다. 그런 다음 settimezone () 메소드를 사용하여 시간을 상하이 시간대 ( 아시아/상하이 )로 변환하십시오. 마지막으로 Format () 메소드를 사용하여 현지 시간을 출력하십시오.

4. 코드 예제 완료

이전 섹션을 모두 결합하여 시간대를 설정하고 정확한 일몰 시간을 얻는 방법을 보여주는 완전한 PHP 코드 예제가 있습니다.

 <?php
// 시간대를 설정하십시오为上海
date_default_timezone_set('Asia/Shanghai');

// 위도와 경도를 설정하십시오
$latitude = 31.2304;
$longitude = 121.4737;

// 사용API일몰 시간을 얻으십시오
$api_url = "https://api.sunset-sunrise.org/json?lat={$latitude}&lng={$longitude}&formatted=0";
$response = file_get_contents($api_url);
$data = json_decode($response, true);

// 얻다UTC시간
$utc_sunset_time = $data['results']['sunset'];

// 만들다DateTime객체와로 설정합니다UTC시간대
$datetime = new DateTime($utc_sunset_time, new DateTimeZone('UTC'));

// 转换为上海시간대
$datetime->setTimezone(new DateTimeZone('Asia/Shanghai'));

// 输出日落시간
echo '상하이의 일몰 시간은입니다:' . $datetime->format('Y-m-d H:i:s');
?>

요약

시간대를 설정하고 API를 사용하여 일몰 시간을 얻으면 다른 지역에서 일몰 시간을 정확하게 얻을 수 있습니다. 로컬 정확한 일몰 시간을 사용할 수 있도록 시간대가 올바르게 설정되어 있는지 확인하는 것이 중요합니다. 동시에 DateTime 클래스와 DateTimezone 클래스를 활용하면 UTC 시간을 대상 시간대의 현지 시간으로 변환하는 데 도움이 될 수 있습니다.