js中将两个日期字符串相减 获得天数

function dateDiff(date1, date2) {
            var type1 = typeof date1, type2 = typeof date2;
            if (type1 == 'string')
                date1 = stringToTime(date1);
            else if (date1.getTime)
                date1 = date1.getTime();
            if (type2 == 'string')
                date2 = stringToTime(date2);
            else if (date2.getTime)
                date2 = date2.getTime();
            //alert((date1 - date2) / (1000*60*60)); 
            return (date1 - date2) / (1000 * 60 * 60 * 24); //结果是小时 
        }
        //字符串转成Time(dateDiff)所需方法 
        function stringToTime(string) {
            var f = string.split(' ', 2);
            var d = (f[0] ? f[0] : '').split('-', 3);
            var t = (f[1] ? f[1] : '').split(':', 3);
            return (new Date(
           parseInt(d[0], 10) || null,
           (parseInt(d[1], 10) || 1) - 1,
            parseInt(d[2], 10) || null,
            parseInt(t[0], 10) || null,
            parseInt(t[1], 10) || null,
            parseInt(t[2], 10) || null
            )).getTime();

        }
        t = dateDiff("2014-09-27", "2014-09-20");
        alert(t); 

//字符串转换为日期
function stringToDate(dateStr,separator){  
    if(!separator){  
        separator="-";  
    }  
    var dateArr = dateStr.split(separator);  
    var year = parseInt(dateArr[0]);  
    var month;  
//处理月份为04这样的情况                         
    if(dateArr[1].indexOf("0") == 0){  
        month = parseInt(dateArr[1].substring(1));  
    }else{  
         month = parseInt(dateArr[1]);  
    }  
    var day = parseInt(dateArr[2]);  
    var date = new Date(year,month -1,day);  
    return date;  
}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值