function formatDate(chaine) { var ctl = /^(\d\d?)\/(\d\d?)\/(\d\d)(\d\d)?$/; var tab = ctl.exec(chaine); if (tab.length) { this.jour = tab[1]; this.mois = tab[2] - 1; if (tab.length > 4) this.an = (tab[4]) ? tab[3] + tab[4] : 2000 + eval(tab[3]); else this.an = 2000 + eval(tab[3]); this.OK = true; } else this.OK = false; } function nombreJours(autreDate) { if (this.OK) { var date1 = new Date(this.an, this.mois, this.jour); if (autreDate.OK) var date2 = new Date(autreDate.an, autreDate.mois, autreDate.jour); else return "erreur"; } else return "erreur"; datenow = new Date(); if(date2 > datenow)date2=datenow; if (date1.getTime() < date2.getTime()) return "+" + (Math.floor((date2.getTime() - date1.getTime()) / 1000 / 60 / 60 / 24)+1); else return Math.floor(Math.floor(date1.getTime() - date2.getTime()) / 1000 / 60 / 60 / 24)*-1; } formatDate.prototype.nombreJours = nombreJours; function calcDuree(case1, case2){ if (case1 == "" || case2 == "") return ""; else { d1 = new formatDate(case1); d2 = new formatDate(case2); return d1.nombreJours(d2); } } datedepart = "29/12/2007"; dateretour = "31/01/2009"; dateblog = calcDuree(datedepart,dateretour);