Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah Saya Boleh Menentukan sama ada Waktu Penjimatan Siang (DST) sedang berlaku?

Bagaimanakah Saya Boleh Menentukan sama ada Waktu Penjimatan Siang (DST) sedang berlaku?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-15 02:10:021012semak imbas

How Can I Determine if Daylight Saving Time (DST) is in Effect?

Menentukan DST dan Offsetnya

Untuk menyemak sama ada Daylight Saving Time (DST) berkuat kuasa, anda boleh menggunakan sifat getTimezoneOffset, yang mengembalikan perbezaan masa dalam minit dari UTC. Perbezaan utama terletak pada konvensyen:

  • Zon di barat UTC (biasanya "di belakang") memaparkan nilai offset positif. Sebagai contoh, Los Angeles akan menunjukkan 480 minit (8 jam positif) semasa Waktu Standard dan 420 minit (7 jam positif) semasa DST.
  • Zon timur UTC memaparkan nilai offset negatif.

Untuk menentukan status DST, bandingkan offset semasa dengan ofset standard:

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

Dengan memanggil isDstObserved() pada objek tarikh, anda boleh mengesahkan sama ada DST aktif.

Contoh:

var today = new Date();
if (today.isDstObserved()) {
    console.log("Daylight saving time is in effect!");
}

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan sama ada Waktu Penjimatan Siang (DST) sedang berlaku?. 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