JavaScript의 DST 감지: 정확한 날짜 조작을 위한 상태 확인
시간 표시나 날짜 조작 등 정확한 시간 계산이 필요한 상황에서는 중요하기 때문에 일광 절약 시간(DST)을 고려하는 것이 필수적입니다. 이러한 계절적 조정은 즉시 고려하지 않으면 시간 계산에 불일치가 발생할 수 있습니다.
이 문제를 해결하기 위해 특정 순간에 DST가 적용되는지 확인하는 JavaScript 코드 조각이 개발되었습니다. 핵심 논리는 getTimezoneOffset이 DST와 비교하여 표준시 동안 더 높은 값을 반환한다는 사실에 달려 있습니다. 표준시 동안 예상되는 오프셋을 결정하고 이를 주어진 날짜의 오프셋과 비교함으로써 표준시 또는 DST가 적용되고 있는지 확인할 수 있습니다.
getTimezoneOffset이 서쪽 시간대에 대해 양수 값을 반환한다는 점은 주목할 만합니다. UTC 및 UTC 동쪽의 음수 값입니다. 또한 오프셋은 일반적으로 시간 단위로 표시되는 반면, getTimezoneOffset은 오프셋을 분 단위로 반환합니다. 예를 들어 로스앤젤레스는 표준시 동안 UTC-8h이고 DST 동안 UTC-7h입니다. 12월에 getTimezoneOffset은 로스앤젤레스에 대해 480을 산출합니다(양수 480분).
다음 JavaScript 코드는 이 개념을 자세히 설명합니다.
Date.prototype.stdTimezoneOffset = function () { var jan = new Date(this.getFullYear(), 0, 1); var jul = new Date(this.getFullYear(), 6, 1); return Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset()); } Date.prototype.isDstObserved = function () { return this.getTimezoneOffset() < this.stdTimezoneOffset(); } var today = new Date(); if (today.isDstObserved()) { alert ("Daylight saving time!"); }
이 코드는 DST가 현재 유효한지 여부를 확인합니다. 지정된 날짜와 표준시 예상 간의 getTimezoneOffset 차이에 대해 설명합니다. 이 논리를 활용하여 개발자는 일광 절약 시간제의 영향을 고려하면서 날짜와 시간을 정확하게 계산할 수 있습니다.
위 내용은 일광 절약 시간이 적용됩니까? JavaScript에서 DST를 정확하게 감지합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!