OK, problème résolu !
Il faut appeler la fonction addSubDays avec ses paramètres :
- date_initiale : au format jj-mm-aaaa
- day : nombre de jour(s) en plus ou en moins
- month : nombre de mois en plus ou en moins
- year : nombre d'annee(s) en plus ou en moins
// Fonction qui signale si on ajoute ou retire des jours
function addSubDays(date_initiale, day, month, year) {
return calculDaysToDate(date_initiale, day, month, year);
}
// Calcule la nouvelle date
function calculDaysToDate(old_date, day, month, year) {
// On coupe la date en segment
var split_date = old_date.split('-');
// Les mois vont de 0 a 11 donc on enleve 1, cast avec *1
var new_date = new Date(split_date[2]*1 + year, split_date[1]*1 - 1 + month, split_date[0]*1 + day);
var new_date_format = dateEuropeanFormat(new_date);
return new_date_format;
}
// Retourne la date au format jj-mm-aaaa
function dateEuropeanFormat(new_date) {
var new_day = new_date.getDate();
// Ajoute un zero devant pour la forme
new_day = ((new_day < 10) ? '0' : '') + new_day;
var new_month = new_date.getMonth() + 1;
// Ajoute un zero devant pour la forme
new_month = ((new_month < 10) ? '0' : '') + new_month;
var new_year = new_date.getYear();
// Necessaire car IE et FF retourne pas la meme chose
new_year = ((new_year < 200) ? 1900 : 0) + new_year;
// Mise en forme de la date
var new_date_text = new_day+'-'+new_month+'-'+new_year;
return new_date_text;
}
edit: Résolu !
edit2: Modification d'un commentaire.
Modifié par Alphonse (17 Jun 2010 - 15:15)