/* ================================================================================ $Id$ ================================================================================ Fonctions sur les dates. Fichiers utilises : Liste des fonctions : diffDate1_Date2 ( aDate1, aDate2, aTypDiff ). $Revision$ $Name$ ================================================================================ */ /****************************************************************/ // FONCTION : diffDate1_Date2 // DESCRIPTION : Difference entre deux dates // ENTREES : // aDate1 : Premiere date // aDate2 : Deuxieme date // AU FORMAT "DD/MM/YYYY" ! // aTypeDiff = 'jours' => Diff en jours (0 si moins de 1 jour) // aTypeDiff = 'annees' => Diff en annees(0 si moins de 1 an) // SORTIES : aDate2 - aDate1 en jours // AUTEUR : Amelie Michaux, le 12/01/99 /****************************************************************/ function diffDate1_Date2 ( aDate1, aDate2, aTypDiff,locale ) { // Objet date, jour, mois, annee de la date 1 var nDD1; var nMM1; var nYYYY1; // Objet date, jour, mois, annee de la date 2 var nDD2; var nMM2; var nYYYY2; // Nb de jours et d'annees var nNbJours = 0; // Construction de la date 1 var arr_date1 = new Array(); arr_date1 = aDate1.split('/'); if(arr_date1.length != 3) return false; //En fonction de la locale nDD1 = Number(arr_date1[0]); nMM1 = Number(arr_date1[1]); nYYYY1 = Number(arr_date1[2]); if(locale == "en") { nDD1 = Number(arr_date1[1]); nMM1 = Number(arr_date1[0]); } if (locale == "ja_JP") { nDD1 = Number(arr_date1[2]); nMM1 = Number(arr_date1[1]); nYYYY1 = Number(arr_date1[0]); } nMM1--; //car JS compte les mois de 00 a 11 !!!! dDate1 = new Date(nYYYY1, nMM1, nDD1); // Construction de la date 2 var arr_date2 = new Array(); arr_date2 = aDate2.split('/'); if(arr_date2.length != 3) return false; nDD2 = Number(arr_date2[0]); nMM2 = Number(arr_date2[1]); nYYYY2 = Number(arr_date2[2]); if(locale == "en" ) { nDD2 = Number(arr_date2[1]); nMM2 = Number(arr_date2[0]); } if (locale == "ja_JP") { nDD2 = Number(arr_date2[2]); nMM2 = Number(arr_date2[1]); nYYYY2 = Number(arr_date2[0]); } nMM2--; dDate2 = new Date(nYYYY2, nMM2, nDD2); if (diffDate1_Date2.arguments.length<3 || aTypDiff == 'jours') { return ( (dDate2 - dDate1)/86400000 ); } else { // Difference en millisecondes nNbJours = Number ( (dDate2 - dDate1)/86400000 ); // Difference en nombre d'annees le plus proche // Si inferieure a 1, on met 1 an return (Math.round (nNbJours / 365)); } } /* ================================================================================ $Log$ Revision 1.2 2008/07/30 14:56:16 a124087 Ecrasement de la branche Head par la branche E11_LUPICATULE_E12 Revision 1.1.2.1 2006/08/14 08:57:20 a121768 Prise en charge du format japonais dans le test d'antériorité entre 2 dates Revision 1.1 2006/03/29 15:17:44 gdurr - 29/03/2006 16:04 Commit initial du projet Cimaise des sources fournies par Cap Gemini - website version 1.12.13 - rdesk version 1.12.13 Revision 1.3 2004/10/01 07:23:10 IDF+drougier modif de la r?cuperation de la date Revision 1.2 2004/09/30 10:01:54 IDF+drougier oubli locale pour test date Revision 1.1 2004/09/29 16:23:39 IDF+drougier creation ================================================================================ */