Je me demande si quelqu'un a une fonction JavaScript pour retourner le nombre de mois et de jours entre 2 dates? Par exemple, si passé 01/01/2013 et 03/01/2015 (format de date UK) Il reviendrait 24 mois 2 jours. J'ai la partie des mois, mais je me bats avec les jours. Il y a 2 champs de date sur mon formulaire au format jj/mm/aaaa. voici le code que j'ai jusqu'à présent:Javascript Mois et Jours entre les dates
function calculateDateDifference(){
var startDateValue=document.forms[0].StartDate.value;
var endDateValue=document.forms[0].EndDate.value;
var startDateArray=startDateValue.split("/");
var endDateArray=endDateValue.split("/");
var startDate= new Date(startDateArray[2], startDateArray[1], startDateArray[0]);
var endDate= new Date(endDateArray[2], endDateArray[1], endDateArray[0]);
var diffYears = endDate.getFullYear()-startDate.getFullYear();
var diffMonths = endDate.getMonth()-startDate.getMonth();
var diffDays = endDate.getDate()-startDate.getDate();
var months = ((diffYears*12) + diffMonths);
if (diffDays<0){
months=months-1;
}
alert(months + " months");
}
Merci à l'avance, Niall.
consultez http://www.datejs.com/ –
Désolé mais je pense que votre approche de ce problème est défectueuse. Un problème que vous rencontrerez est que les mois sont incompatibles. Que signifie 1 mois? 31 jours? 30? 28? Cela ne vous permet pas beaucoup de précision. Vous devriez peut-être repenser votre approche et vous demander si c'est utile ou nécessaire de calculer le nombre de mois entre les dates. – IsisCode