Nombre de jour entre deux dates sans compter samedi et dimanche
meryazer
Messages postés23Date d'inscriptiondimanche 13 mai 2007StatutMembreDernière intervention26 décembre 2009
-
27 août 2009 à 14:06
bizibiz17
Messages postés142Date d'inscriptionmardi 17 janvier 2006StatutMembreDernière intervention29 août 2009
-
29 août 2009 à 19:03
Bonjour,
je veux faire une fonction qui calcule le nombre de jours entre deux dates mais sans tenir en compte les samedis et les dimanches, j'ai pu récupérer (à l'aide d'un code existant) le nombre de jours mais weekend inclu, voici le code:
function calculer()
{
var date1=document.forms['demande_form'].elements['date_debut'].value
var date2=document.forms['demande_form'].elements['date_fin'].value
var date3=document.forms['demande_form'].elements['date_demande'].value
var reg=new RegExp("-", "g");
var tableau1=date1.split(reg);
date1=tableau1[2]+"/"+tableau1[1]+"/"+tableau1[0];
var tableau2=date2.split(reg);
date2=tableau2[2]+"/"+tableau2[1]+"/"+tableau2[0];
var tableau3=date3.split(reg);
date3=tableau3[2]+"/"+tableau3[1]+"/"+tableau3[0];
var debut = temps(date1.split("/"));
var fin = temps(date2.split("/"));
var demande = temps(date3.split("/"));
var diff = (debut - demande) / (1000 * 60 * 60 * 24);
if(diff<=0)
{
document.forms['demande_form'].elements['nb_jours'].style.color="#e7200b";
document.forms['demande_form'].elements['nb_jours'].value="Erreur : date debut inférieure ou égale à date d'aujourd'hui";
}
else if(diff<=15)
{
document.forms['demande_form'].elements['nb_jours'].style.color="#e7200b";
document.forms['demande_form'].elements['nb_jours'].value="Erreur : Le congé ne peut commencer qu'à partir du 15 ème jours après la demande";
}
else
{
if(debut==fin)
{
document.forms['demande_form'].elements['nb_jours'].style.color="";
document.forms['demande_form'].elements['nb_jours'].value="1";
}
else
{
var nb = (fin - debut) / (1000 * 60 * 60 * 24); // + " jours";
if(nb>0)
{
nb=nb+1;
if(nb>document.getElementById("id_solde").value)
{
document.forms['demande_form'].elements['nb_jours'].style.color="#e7200b";
document.forms['demande_form'].elements['nb_jours'].value="Erreur : nombre de jours demandés supérieur à votre solde";
}
else
{
document.forms['demande_form'].elements['nb_jours'].style.color="";
document.forms['demande_form'].elements['nb_jours'].value=nb;
}
}
if(nb<0)
{
document.forms['demande_form'].elements['nb_jours'].style.color="#e7200b";
document.forms['demande_form'].elements['nb_jours'].value="Erreur : date fin inférieure à date debut";
}
}
}
}