Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengakaunkan Waktu Penjimatan Siang dalam Pengiraan Masa JavaScript?
Menentukan Waktu Penjimatan Siang (DST) dalam JavaScript
Apabila mengira perbezaan masa, adalah penting untuk mengambil kira Waktu Penjimatan Siang (DST), yang boleh mengakibatkan percanggahan jika tidak dipertimbangkan dengan betul. Dalam coretan kod ini:
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 boleh menyebabkan salah pengiraan dalam perbezaan masa. Untuk menangani perkara ini, pertimbangkan untuk menggunakan langkah berikut:
Semak sama ada DST berkuat kuasa:
Laksanakan isDstObserved() fungsi:
Date.prototype.isDstObserved = function () { return this.getTimezoneOffset() < this.stdTimezoneOffset(); }
Fungsi ini menyemak sama ada zon waktu offset untuk tarikh tertentu adalah kurang daripada ofset zon waktu standardnya, menunjukkan bahawa DST berkuat kuasa.
Sahkan status DST:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakaunkan Waktu Penjimatan Siang dalam Pengiraan Masa JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!