Menentukan Status Daylight Saving Time (DST)
Dalam JavaScript, pengiraan perbezaan masa dengan tepat boleh dipengaruhi oleh DST, yang melaraskan waktu tempatan mengikut sejam. Untuk mengendalikan perkara ini, adalah penting untuk menentukan sama ada DST berkuat kuasa.
Menyemak Status DST
Objek Tarikh menyediakan penyelesaian melalui getTimezoneOffset, yang mengembalikan perbezaan antara setempat masa dan UTC dalam minit. Walau bagaimanapun, ambil perhatian bahawa getTimezoneOffset mengembalikan nilai positif untuk zon waktu di barat UTC (cth., Los Angeles) dan nilai negatif untuk di sebelah timur UTC (cth., Sydney).
Untuk mengambil kira perkara ini, coretan kod berikut boleh digunakan:
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(); };
Fungsi stdTimezoneOffset mengembalikan nilai offset yang lebih besar antara Januari dan Julai, mewakili offset masa standard dengan berkesan. Fungsi isDstObserved kemudian membandingkan offset semasa dengan ofset standard ini. Jika offset semasa kurang, ini menunjukkan DST sedang digunakan.
Contoh Penggunaan
var today = new Date(); if (today.isDstObserved()) { alert("Daylight saving time!"); }
Nota: Tarikh mula dan tamat DST berbeza-beza mengikut wilayah, jadi adalah disyorkan untuk merujuk sumber tempatan untuk mendapatkan maklumat yang tepat.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan sama ada Waktu Penjimatan Siang Sedang Berkuatkuasa dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!