日期:2014-05-20  浏览次数:20606 次

js中getTime()的使用
我需要计算两个日期的相差天数。思路很清晰,算出他们相差的毫秒数,然后除以每天的毫秒数。
function setTime(){
var yearFm ='2011';
var monthFm ='01';
var dayFm ='31';
var yearTo = '2011';
var monthTo = '02';
var dayTo = '01';
var fromD = new Date(yearFm, monthFm, dayFm);
var toD = new Date(yearTo, monthTo, dayTo);
var no = Number((toD.getTime() - fromD.getTime()) / (24 * 60 * 60 * 1000)) + 1;
return no;
}
为什么toD.getTime() 是1298908800000
  fromD.getTime()) 是1299081600000
这是怎么回事,toD是2011年2月1号,fromD是2011年1月31号,为什么toD.getTime()会比fromD.getTime()) 还小呢,求各路大侠解答
PS:如果数据换掉,在其他情况下,算出的数据还是正常的

------解决方案--------------------
java吗? 月是从0开始的,0131相当于二月三十一,会自动前推至三月二日或三日,是要比to多了
------解决方案--------------------
Java code

        function setTime(){
            d1 = new Date("2011/01/31");
            d2 = new Date("2011/02/01");            
            var time= d2.getTime() - d1.getTime();
            var days = parseInt(time / (1000 * 60 * 60 * 24));
            alert(days);
        }