Mam problem z prawidłowym pobraniem liczby dni pomiędzy dwoma datami
Próbowałem już na różne sposoby tworzyć obiekt Date i różnie odejmować - ostatnia wersja z parseInt i Folat gdzie tylko sie da i ciągle jest źle

kod jest taki:
Kod
data1 = '2009-05-01';
data2 = '2009-06-01';
var data_temp = data1.split('-');
data1= new Date(data_temp[0],data_temp[1],data_temp[2]);
data_temp = data2.split('-');
data2= new Date(data_temp[0],data_temp[1],data_temp[2]);
var asd=parseInt(data2.getTime(),10)-parseInt(data1.getTime(),10);
asd = Math.floor(parseFloat((parseInt(asd,10) / (1000 * 60 * 60 * 24)),10));
alert(asd);
data2 = '2009-06-01';
var data_temp = data1.split('-');
data1= new Date(data_temp[0],data_temp[1],data_temp[2]);
data_temp = data2.split('-');
data2= new Date(data_temp[0],data_temp[1],data_temp[2]);
var asd=parseInt(data2.getTime(),10)-parseInt(data1.getTime(),10);
asd = Math.floor(parseFloat((parseInt(asd,10) / (1000 * 60 * 60 * 24)),10));
alert(asd);
alert daje 30, a maj ma 31 dni

a żeby było śmieszniej , to dla dat pierwszy czerwca i pierwszy lipca dostaje wynik 31 dni a czerwiec ma ich 30
liczenie dni w obrębie jednego miesiąca działa poprawnie