日期处理封装函数(更新中)

    //判断某年份是否为闰年
    function isLeapYear(year){
        return year%4==0 && year%100!=0 || year%400==0;
    }


    //将日期格式化输出 “2015-08-24”
    function date2string(date, sep){
        var sep = sep || "-";
        var m = date.getMonth()+1;
        var d = date.getDate();
        return date.getFullYear()+sep+ (m<10?"0"+m:m) + sep+ (d<10?"0"+d:d);
    }

    date2string(new Date())

    //获得某个月份的天数
    function getDaysByMonth(month, year){
        year = year || new Date().getFullYear();

        if(!month || typeof month != "number" ) {
            console.error("参数必须为数字类型!");
            return;
        } 
        if( !(month > 0 && month < 13) ){
            console.error("月份必须在1-12之间");
            return;
        }
        month = Math.round(month);

        switch(month) {
            case 1 : 
            case 3 :
            case 5 :
            case 7 :
            case 8 :
            case 10 :
            case 12 : return 31;
            case 2 : return (isLeapYear(year) ? 29 : 28);
            case 4 :
            case 6 :
            case 9 :
            case 11 : return 30;
        }
    }


    //将字符串转换为日期
    function string2Date(datestr, sep){

        if( !sep || !(datestr && datestr.length >= 8) ){
            console.error("字符串格式错误!不能解析");
            return;
        }

        var list = datestr.split(sep);
        if( !(list[0].length==4 && list[1]>0&&list[1]<13 && list[2]>0 && list[2]<32) ){
            console.error("字符串格式错误!不能解析");
            return;
        }
        return new Date(datestr);
    }


    //判断两个日期相差的天数
    function getDaysBetweenMonths(d1, d2){
        if( !(d1 instanceof Date && d2 instanceof Date) ){
            console.error("参数传错了!重来!");
            return;
        }
        var dis = Math.abs(d1.getTime() - d2.getTime());
        return (dis/1000/3600/24).toFixed(2);
    }


    //获得N天以后的日期(string/date)
    function getAfterDay(n){
        var now = new Date();
        now.setDate( now.getDate()+n );
        return date2string(now);
    }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值