2010-01-20 10 views
2

J'essaie de résumer ou de déduire des dates dans la plage sélectionnée en utilisant jquery datepicker, voici comment je le fais en ce moment mais sans aucune chance.jquery datepicker, dates range range

function test(){ 
    var sundayCheck = 0; 
    var saturdayCheck = 0; 
    var totalDays = 0; 

    sundayCheck = new Date($("#onlySunday").datepicker("getDate")); 
    saturdayCheck = new Date($("#onlySaturday").datepicker("getDate")); 

    totalDays = saturdayCheck.getDate() - sundayCheck.getDate(); 

    alert(totalDays); 
} 

thats un morceau de code qui devrait faire le calcul, mais ce qu'il fait est juste jours comme déduise,

24.01.10 - 06.02.10 = -18 qui est mal totaly car il devrait être plus jours c'est juste ne considère pas les jours et c'est juste en utilisant les premiers nombres de dates.

Si quelqu'un pouvait aider à faire de tels calculs, j'apprécierais le plus.

Répondre

2

Essayez-vous de déterminer le nombre de jours entre deux dates?

totalDays = Math.ceil((saturdayCheck.getTime()-sundayCheck.getTime())/(1000*60*60*24); 

d'abord obtenir le nombre de millisecondes entre les deux dates diviser puis par le nombre de millisecondes dans une journée. Utiliser Math.ceil pour arrondir au nombre entier le plus proche.

+0

cela a fonctionné comme un CHARME, mais une question comme par exemple en utilisant votre code avec le mien et en l'appliquant à 30.01.2010 - 24.01.2010 égal = 6, mais en réalité j'ai besoin du résultat de 7 jours. Tu vois ce que je veux dire? – devjs11

+0

Cela dépend probablement de la façon dont vous comptez les jours. Vous incluez les 24 dans votre compte pour obtenir 7? Si cela est toujours vrai, vous devez +1 à l'expression donnée. –

+0

merci! Je comprends. réponse rapide incroyable. – devjs11