Rumah  >  Artikel  >  hujung hadapan web  >  Adakah Waktu Penjimatan Siang Berkuatkuasa? Pendekatan JavaScript untuk Mengesan dan Mengira DST Offset.

Adakah Waktu Penjimatan Siang Berkuatkuasa? Pendekatan JavaScript untuk Mengesan dan Mengira DST Offset.

Patricia Arquette
Patricia Arquetteasal
2024-11-13 12:55:02855semak imbas

Is Daylight Saving Time in Effect? A JavaScript Approach to Detecting and Calculating DST Offset.

Pengesanan DST dan Pengiraan Offset dalam JavaScript

Kod yang diberikan mengira perbezaan masa antara dua tarikh, membahagikannya kepada tahun, hari, jam, minit dan saat. Walau bagaimanapun, Daylight Saving Time (DST) boleh menyebabkan percanggahan. Artikel ini menyelidiki mekanisme untuk menentukan sama ada DST berkuat kuasa dan mengira offsetnya.

Menyemak DST

Kuncinya terletak pada kaedah getTimezoneOffset(). Ia mengembalikan nilai yang lebih besar semasa Masa Standard berbanding DST. Dengan menentukan pengimbang yang dijangkakan semasa Masa Piawai, kod tersebut membandingkannya dengan ofset untuk tarikh yang diberikan. Jika offset lebih kecil, ia menunjukkan DST.

getTimezoneOffset Considerations

Perhatikan bahawa getTimezoneOffset() mengembalikan nilai positif untuk zon waktu di barat UTC, yang biasanya diwakili sebagai waktu negatif (mis., Los Angeles: UTC–8j dalam Waktu Standard). Sebaliknya, ia mengembalikan nilai negatif untuk Hemisfera Timur (mis., Sydney: UTC 10j pada musim sejuk).

Contoh Kod

Untuk melanjutkan Tarikh dengan fungsi DST:

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();
}

Penggunaan:

var today = new Date();
if (today.isDstObserved()) { 
    alert ("Daylight saving time!");
}

Oleh menggabungkan fungsi ini, kod anda boleh mengira perbezaan masa dengan tepat, walaupun semasa peralihan DST.

Atas ialah kandungan terperinci Adakah Waktu Penjimatan Siang Berkuatkuasa? Pendekatan JavaScript untuk Mengesan dan Mengira DST Offset.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn