Maison > interface Web > js tutoriel > Comment calculer avec précision la différence entre deux dates en JavaScript ?

Comment calculer avec précision la différence entre deux dates en JavaScript ?

Barbara Streisand
Libérer: 2024-12-27 13:32:11
original
673 Les gens l'ont consulté

How to Accurately Calculate the Difference Between Two Dates in JavaScript?

Calcul de la différence de date en JavaScript : une solution complète

Lorsque vous travaillez avec des dates en JavaScript, déterminer la différence entre deux dates spécifiques devient une tâche courante tâche. Même si une simple soustraction peut sembler une approche simple, elle ne prend pas en compte les fractions d’une journée. Pour obtenir avec précision la différence en jours entiers, une méthode alternative est nécessaire.

Le problème :

Considérez l'extrait de code suivant, qui tente de calculer le nombre de jours entre deux dates à l'aide de la méthode getDate() :

var date1 = new Date('7/11/2010');
var date2 = new Date('12/12/2010');
var diffDays = date2.getDate() - date1.getDate(); 
alert(diffDays)
Copier après la connexion

Cependant, cette approche ne tient pas compte des différences de mois et d'année, ce qui peut conduire à des erreurs résultats.

La solution :

Pour déterminer avec précision la différence entre les dates en jours entiers, un calcul plus complet est nécessaire :

const date1 = new Date('7/13/2010');
const date2 = new Date('12/15/2010');
const diffTime = Math.abs(date2 - date1);
const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24)); 
console.log(diffTime + " milliseconds");
console.log(diffDays + " days");
Copier après la connexion
  1. Calculer le décalage horaire : La première étape consiste à soustraire la date antérieure de la date ultérieure, ce qui entraîne un décalage horaire dans millisecondes. Ceci est réalisé en utilisant Math.abs, qui garantit une valeur positive.
  2. Convertir en jours : Pour obtenir la différence en jours entiers, la différence de temps est divisée par le nombre de millisecondes dans une jour, soit 1000 x 60 x 60 x 24.
  3. Étagez le résultat : Utilisation Math.floor, les jours fractionnaires sont ignorés, ce qui donne le nombre entier de jours.

Cette approche calcule avec précision la différence d'une journée entière entre deux dates, offrant une solution fiable et flexible pour divers scénarios.

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