php에서 date_sunset () 함수는 지정된 날짜의 일몰 시간을 반환하는 데 사용됩니다. 일반적으로 timestamp를 반환 한 다음 date () 함수를 사용하여 원하는 날짜 및 시간 형식으로 형식화 할 수 있습니다. 그러나 경우에 따라 date_sunset ()이 타임 스탬프를 반환 할 수 있으며 결과는 시간이 아침 (00:00)임을 보여줍니다. 이는 특히 다른 지역의 시간대 문제를 처리 할 때 개발자에게 문제가 발생할 수 있습니다.
이 기사에서는 Date_Sunset () 함수 이른 아침 시간, 특히 시간대 차이, 일광 절약 시간 조정 및 반환 값을 올바르게 구문 분석하는 방법을 해결하는 방법을 살펴 봅니다.
date_sunset () 함수의 기본 구문은 다음과 같습니다.
date_sunset(time, returnFormat, latitude, longitude, zenith, gmtOffset)
시간 : 지정된 날짜 (타임 스탬프), time () 함수를 사용하여 현재 시간을 얻을 수 있습니다.
returnformat : 반환 된 시간 형식, 일반적으로 sunfuncs_ret_timestamp (returns timestamp) 또는 기타 형식 (예 : sunfuncs_ret_string , 반환 형식 시간).
위도 및 경도 : 일몰 시간을 계산하는 데 사용되는 위도와 경도.
Zenith : 태양의 황혼 위치, 보통 90.8333.
GMTOFFSET : 선택 사항, 다른 시간 영역을 처리하기 위해 GMT 오프셋을 지정하십시오.
date_sunset () 함수에 의해 반환 된 타임 스탬프는 UTC 시간 (조정 된 범용 시간)을 나타냅니다. 일몰 시간을 계산할 때 현지 시간대 또는 일광 절약 조정을 고려하지 않습니다. 따라서 타임 스탬프를 시간대를 올바르게 처리하지 않고 현지 시간으로 변환하면 이른 아침에 출력 시간에 문제가있을 수 있습니다.
예를 들어, ET (EST, GMT-5)에서 date_sunset ()을 사용하는 경우 리턴 된 타임 스탬프는 UTC 시간이며 변환 중에 시간대 조정이 이루어지지 않으면 오전 6시에 로컬 0AM으로 표시 될 수 있습니다.
먼저 PHP 스크립트가 올바른 시간대를 사용하고 있는지 확인하십시오. date_default_timezone_set () 함수를 사용하여 시간대를 설정할 수 있습니다.
date_default_timezone_set('Asia/Shanghai'); // 상하이 시간대로 설정됩니다(GMT+8)
이런 식으로 모든 날짜 및 시간 관련 작업은 올바른 시간대에서 수행됩니다.
date_sunset ()을 사용하여 UTC 타임 스탬프를 반환한다고 가정하면 date_default_timezone_set () 함수를 통해 시간대를 설정하고 날짜 () 함수를 사용하여 로컬 시간으로 포맷 할 수 있습니다. 예를 들어:
// 시간대를 상하이로 설정하십시오
date_default_timezone_set('Asia/Shanghai');
// 일몰 시간을 얻으십시오(UTC타임 스탬프)
$sunsetTimestamp = date_sunset(time(), SUNFUNCS_RET_TIMESTAMP, 31.2304, 121.4737);
// 할 것이다UTC타임 스탬프현지 시간으로 전환하십시오
$sunsetTime = date('Y-m-d H:i:s', $sunsetTimestamp);
echo "현지 일몰 시간:$sunsetTime";
이렇게하면 일몰 시간을 올바르게 출력하고 이른 아침 시간의 문제를 피할 수 있습니다.
해당 지역에서 일광 절약 시간 (DST)을 사용하는 경우 시간대 전환을 수행 할 때 추가 고려 사항이 필요할 수 있습니다. php에서 date_default_timezone_set ()는 일광 절약 시간을 자동으로 처리하므로 올바른 시간대를 설정하는 한 로컬 일광 절약 시간 규칙에 따라 조정됩니다.
예를 들어:
// 뉴욕 시간대로 설정되었습니다(일광 절약 시간 조정이 포함됩니다)
date_default_timezone_set('America/New_York');
// 일몰 시간을 얻으십시오
$sunsetTimestamp = date_sunset(time(), SUNFUNCS_RET_TIMESTAMP, 40.7128, -74.0060);
// 현지 시간으로 전환하십시오
$sunsetTime = date('Y-m-d H:i:s', $sunsetTimestamp);
echo "纽约현지 일몰 시간:$sunsetTime";
이런 식으로 뉴욕의 일광 절약 시간 동안 PHP는 자동으로 일광 절약 시간 조정을 고려하여 올바른 일몰 시간을 얻을 수 있습니다.
date_sunset () 함수를 사용하는 경우 반환 된 타임 스탬프는 UTC 시간이며,이 문제를 해결하기 위해 출력 시간이 오전 0 일이 될 수 있습니다.이 문제를 해결하기 위해 개발자는 올바른 시간대가 설정되고 일광 절약 시간의 영향이 변환 할 때 고려되도록해야합니다. date_default_timezone_set () 및 date () 함수를 사용하면 UTC 시간을 현지 시간으로 쉽게 변환하여 이른 아침 시간의 오류를 피할 수 있습니다.
이 기사가 DATE_SUNSET () 함수의 문제를 이른 아침 시간으로 반환하는 데 도움이되기를 바랍니다. 질문이나 추가 토론이 있으시면 댓글 영역에 메시지를 남겨주세요!