Calculer les différences de dates en années, mois et jours en JavaScript
Déterminer la différence précise entre deux dates, en tenant compte de facteurs tels que les années bissextiles et des durées variables en mois, peuvent en effet être une tâche complexe. Cependant, pour un calcul basique et approximatif, le code JavaScript suivant peut fournir une estimation raisonnable :
today = new Date() past = new Date(2010,05,01) // remember this is equivalent to 06 01 2010 //dates in js are counted from 0, so 05 is june function calcDate(date1,date2) { var diff = Math.floor(date1.getTime() - date2.getTime()); var day = 1000 * 60 * 60 * 24; var days = Math.floor(diff/day); var months = Math.floor(days/31); var years = Math.floor(months/12); var message = date2.toDateString(); message += " was " message += days + " days " message += months + " months " message += years + " years ago \n" return message } a = calcDate(today,past) console.log(a) // returns Tue Jun 01 2010 was 1143 days 36 months 3 years ago
L'appel de la fonction calcDate avec deux objets Date (par exemple, aujourd'hui et passé) calcule la différence de temps en millisecondes et le divise par le nombre de millisecondes dans une journée pour obtenir le nombre de jours. Les jours sont ensuite regroupés en mois et en années à titre approximatif.
Cette méthode fournit une estimation de base de la différence de date en termes de jours, de mois et d'années, mais elle ne prend pas en compte toutes les subtilités du calendrier grégorien. . Pour des calculs plus précis ou des exigences spécifiques, pensez à utiliser une bibliothèque ou un module dédié qui gère ces complexités avec plus de précision.
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!