"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment générer des dates au format ISO 8601 avec des décalages de fuseau horaire en JavaScript ?

Comment générer des dates au format ISO 8601 avec des décalages de fuseau horaire en JavaScript ?

Publié le 2024-12-23
Parcourir:631

How to Generate ISO 8601 Format Dates with Timezone Offsets in JavaScript?

Dates au format ISO 8601 avec décalage de fuseau horaire en JavaScript

En JavaScript, la construction de dates au format ISO 8601 avec décalage de fuseau horaire peut être difficile en raison de décalages horaires négatifs potentiels. Cet article résout ce problème et propose une solution.

Comprendre le format

Le format ISO 8601 spécifie les dates comme suit : AAAA-MM-JJThh:mm:ss± hh:mm. Par exemple, 2002-10-10T12:00:00-05:00 représente midi le 10 octobre 2002, à l'heure d'été du Centre (cinq heures de retard sur UTC).

Recherche de l'heure locale et de l'UTC. Offset

Pour construire la chaîne ISO 8601, nous devons d'abord obtenir l'heure locale en utilisant new Date() et calculer l'heure locale Décalage UTC à l'aide de getTimezoneOffset(). Le décalage est obtenu en minutes, nous le divisons donc par 60 pour obtenir le nombre d'heures.

Gestion des décalages horaires négatifs

La fonction getTimezoneOffset() peut renvoyer un résultat négatif valeurs. Dans de tels cas, nous devons formater le décalage différemment. Par exemple, un décalage de -120 minutes doit être affiché à 02h00 (deux heures avant UTC).

Fonction d'aide au formatage

Pour simplifier le processus , une fonction d'assistance, toIsoString, peut être utilisée pour formater les dates au format ISO 8601 avec des décalages de fuseau horaire :

function toIsoString(date) {
  var tzo = -date.getTimezoneOffset(), // Make the offset positive
      dif = tzo >= 0 ? ' ' : '-', // Determine the sign
      pad = function(num) { // Ensure two-digit representation
          return (num 

Cette fonction prend une date comme argument et la formate selon la spécification ISO 8601, y compris le décalage horaire.

Exemple d'utilisation

Le code suivant montre comment utiliser la fonction toIsoString :

var dt = new Date();
console.log(toIsoString(dt)); // Outputs the date in ISO 8601 format with timezone offset

En utilisant cette approche, vous pouvez facilement formater les dates en JavaScript selon la norme ISO 8601, en vous assurant qu'elles respectent le format approprié.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3