> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 시간 계산에서 일광 절약 시간을 어떻게 계산할 수 있습니까?

JavaScript 시간 계산에서 일광 절약 시간을 어떻게 계산할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-11-30 15:01:15
원래의
775명이 탐색했습니다.

How Can I Account for Daylight Saving Time in JavaScript Time Calculations?

JavaScript에서 일광 절약 시간(DST) 결정

시차를 계산할 때 일광 절약 시간(DST)을 고려하는 것이 중요합니다. 제대로 고려하지 않으면 불일치가 발생할 수 있습니다. 이 코드 조각에서:

var secDiff = Math.abs(Math.round((utc_date-this.premiere_date)/1000));
this.years = this.calculateUnit(secDiff,(86400*365));
this.days = this.calculateUnit(secDiff-(this.years*(86400*365)),86400);
this.hours = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)),3600);
this.minutes = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)-(this.hours*3600)),60);
this.seconds = this.calculateUnit((secDiff-(this.years*(86400*365))-(this.days*86400)-(this.hours*3600)-(this.minutes*60)),1);
로그인 후 복사

DST는 시차 계산 오류로 이어질 수 있습니다. 이 문제를 해결하려면 다음 단계를 사용하는 것이 좋습니다.

  1. DST가 적용되는지 확인하세요.

    • 두 개의 Date 객체를 생성합니다. 올해 1월 1일과 7월 1일에 대해 하나씩.
    • 두 날짜 모두에 대한 시간대 오프셋을 계산합니다. getTimezoneOffset()을 사용합니다.
    • 오프셋을 비교합니다. 1월 오프셋이 7월 오프셋보다 크면 DST가 적용됩니다.
  2. 구현 isDstObserved() 함수:

    Date.prototype.isDstObserved = function () {
        return this.getTimezoneOffset() < this.stdTimezoneOffset();
    }
    로그인 후 복사

    이 함수는 특정 날짜의 시간대 오프셋이 표준 시간대 오프셋보다 작은지 확인하여 DST가 적용되고 있음을 나타냅니다.

  3. DST 상태 확인:

    • 만들기 현재 날짜/시간에 대한 Date 객체.
    • DST가 활성화되어 있는지 확인하려면 Date 객체에서 isDstObserved() 함수를 호출하세요.

위 내용은 JavaScript 시간 계산에서 일광 절약 시간을 어떻게 계산할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿