>백엔드 개발 >PHP 튜토리얼 >웹 애플리케이션에서 사용자의 시간대를 어떻게 정확하게 확인하고 설정할 수 있습니까?

웹 애플리케이션에서 사용자의 시간대를 어떻게 정확하게 확인하고 설정할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-11 06:25:10942검색

How Can I Accurately Determine and Set a User's Timezone in Web Applications?

IP 또는 HTTP 헤더를 통해 사용자 시간대 확인

사용자의 현재 시간대를 감지하는 방법을 이해하는 것은 다양한 애플리케이션에 필수적입니다. 이 문서에서는 new Date().getTimezoneOffset()/60의 의미를 자세히 조사하여 이를 달성하는 방법을 설명합니다.

new Date().getTimezoneOffset()/60

풀기

new Date().getTimezoneOffset()/60 구문은 현지 시간과 협정 세계시 사이의 오프셋을 시간 단위로 제공합니다. 세계시(UTC). 현지 시간이 UTC보다 빠르거나 느린 시간 수를 나타내는 값을 반환합니다. 예를 들어 값 5.5는 현지 시간이 UTC보다 5시간 30분 빠르다는 것을 나타냅니다.

PHP의 기본 시간대 수정

동적으로 시간대를 설정하려면 사용자의 IP 또는 HTTP 헤더에서 이 정보를 구문 분석하는 외부 라이브러리를 사용하는 것이 좋습니다. 다음은 jstz.min.js 라이브러리를 사용하는 예입니다.

<script>
  $(function() {
    var tz = jstz.determine();
    var timezone = tz.name(); // e.g.: "Asia/Kolkata" for Indian Time

    // Send a POST request to the controller to handle the timezone
    $.post("timezone-handler.php", { tz: timezone }, function(data) {
      // Process the timezone in the controller and refresh the page if successful
    });
  });
</script>

시간대 처리를 위한 컨트롤러 함수

컨트롤러 함수는 시간대 정보를 수신하고 이를 처리할 수 있습니다. 적절한 PHP 시간대를 설정합니다.

<?php
// Get the timezone from the POST request
$timezone = $_POST['tz'];

// Validate and set the PHP timezone
if (!empty($timezone)) {
  date_default_timezone_set($timezone);
}
?>

이러한 단계를 구현하면 동적으로 감지하고 사용자의 시간대를 설정하여 웹 애플리케이션의 정확한 시간 유지를 보장합니다.

위 내용은 웹 애플리케이션에서 사용자의 시간대를 어떻게 정확하게 확인하고 설정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.