actually code works fine when date on same month had problem when date on different month 30/09/2015 , 01/10/2015 number of days result 2.(sorry bad english)
here's sample code:
var dtelem1 = '30/09/2015'; var dtelem2 = '01/10/2015'; var resultelem = frm.elements['numberofdays']; var oneday = 24*60*60*1000; var x = dtelem1.value; var y = dtelem2.value; var arr1 = x.split('/'); var arr2 = y.split('/'); var dt1 = new date(); dt1.setfullyear(arr1[2], arr1[1], arr1[0]); var dt2 = new date(); dt2.setfullyear(arr2[2], arr2[1], arr2[0]); resultelem.value = math.round(math.abs((dt1.gettime() - dt2.gettime())/(oneday)));
the date methods count months zero, should substract 1 month number when setting date. explains bug, since end substracting 30th of october 1st of november , october has 31 days.
this give expected result:
dt1.setfullyear(arr1[2], arr1[1] - 1, arr1[0]) dt2.setfullyear(arr2[2], arr2[1] - 1, arr2[0])
note don't need create date , set it. can pass same arguments directly constructor:
dt1 = new date(arr1[2], arr1[1] - 1, arr1[0]) dt2 = new date(arr2[2], arr2[1] - 1, arr2[0])
Comments
Post a Comment