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

Patricia Arquette
Lepaskan: 2024-11-13 12:55:02
asal
847 orang telah melayarinya

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();
}
Salin selepas log masuk

Penggunaan:

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

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan