Formatage ISO 8601 des dates avec décalage de fuseau horaire en JavaScript
Pour formater efficacement les dates avec décalage de fuseau horaire au format ISO 8601, suivez les directives suivantes :
W3C Recommandation :
Considérons l'exemple : "2002-10-10T12:00:00−05:00". Cela signifie midi le 10 octobre 2002, ce qui correspond à l'heure d'été du Centre (ainsi qu'à l'heure normale de l'Est aux États-Unis). Son équivalence en UTC est "2002-10-10T17:00:00Z", soit une différence de cinq heures.
Étapes de formatage :
Gestion des décalages horaires négatifs :
Lorsque getTimezoneOffset() renvoie des valeurs négatives , tel que « -120 », le format doit respecter le format suivant : "2013-07-02T09:00:00 12:00".
Fonction d'assistance :
Cette fonction pratique simplifie le formatage de la date ISO 8601 :
function toIsoString(date) { var tzo = -date.getTimezoneOffset(), dif = tzo >= 0 ? '+' : '-', pad = function(num) { return (num < 10 ? '0' : '') + num; }; return date.getFullYear() + '-' + pad(date.getMonth() + 1) + '-' + pad(date.getDate()) + 'T' + pad(date.getHours()) + ':' + pad(date.getMinutes()) + ':' + pad(date.getSeconds()) + dif + pad(Math.floor(Math.abs(tzo) / 60)) + ':' + pad(Math.abs(tzo) % 60); } var dt = new Date(); console.log(toIsoString(dt));
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!