JSFiddle - React, Tailwind, and code Playground
JavaScript
var minute=60,
heure=60*60,
jour=60*60*24,
an=60*60*24*365,
mois=(60*60*24*365)/12,
d1=new Date(2012,6,4,14,28,00),
d2=new Date(2013,8,10,16,30,02),
dDiff=Math.floor((d2-d1)/1000);
// l'écart inscrit est donc de 1an, 2 mois 2jours 2h, 2min et 2sec.
// Années:
var nbrAns=Math.floor(dDiff/an);
dDiff=dDiff-(nbrAns*an);
// Mois:
var nbrMois=Math.floor(dDiff/mois);
dDiff=dDiff-(nbrMois*mois);
// Jours:
var nbrJours=Math.floor(dDiff/jour);
dDiff=dDiff-(nbrJours*jour);
// Heures:
var nbrHeure=Math.floor(dDiff/heure);
dDiff=dDiff-(nbrHeure*heure);
// Minutes:
var nbrMinute=Math.floor(dDiff/minute);
dDiff=dDiff-(nbrMinute*minute);
// Secondes:
var nbrSec=dDiff;
// On affiche
alert(nbrAns+'années '+nbrMois+'mois '+nbrJours+'jours '+nbrHeure+'heures '+nbrMinute+'minutes '+nbrSec+'secondes');