Maison > interface Web > js tutoriel > le corps du texte

Comment déterminer si l'heure d'été est actuellement en vigueur en JavaScript ?

Susan Sarandon
Libérer: 2024-11-19 15:28:03
original
635 Les gens l'ont consulté

How to Determine if Daylight Saving Time Is Currently in Effect in JavaScript?

Détermination de l'état de l'heure d'été (DST)

En JavaScript, le calcul précis des différences horaires peut être affecté par l'heure d'été, qui ajuste l'heure locale en une heure. Pour gérer cela, il est essentiel de déterminer si l'heure d'été est en vigueur.

Vérification de l'état de l'heure d'été

L'objet Date fournit une solution via getTimezoneOffset, qui renvoie la différence entre les valeurs locales heure et UTC en minutes. Cependant, notez que getTimezoneOffset renvoie des valeurs positives pour les fuseaux horaires à l'ouest de UTC (par exemple, Los Angeles) et des valeurs négatives pour ceux à l'est de UTC (par exemple, Sydney).

Pour tenir compte de cela, l'extrait de code suivant peut être utilisé :

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();
};
Copier après la connexion

La fonction stdTimezoneOffset renvoie la valeur de décalage la plus élevée entre janvier et juillet, représentant efficacement le décalage horaire standard. La fonction isDstObserved compare ensuite le décalage actuel avec ce décalage standard. Si le décalage actuel est inférieur, cela indique que l'heure d'été est utilisée.

Exemple d'utilisation

var today = new Date();
if (today.isDstObserved()) {
  alert("Daylight saving time!");
}
Copier après la connexion

Remarque : Dates de début et de fin de l'heure d'été varient selon les régions, il est donc recommandé de consulter des sources locales pour des informations précises.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal