zoukankan      html  css  js  c++  java
  • js验证两个日期是否是同一个年月,并计算天数差


    /**
    * 将日期转化为 yyyy-MM 格式 。
    * 帮助验证 两个时间要在同一个年月份
    * @param dateStr
    */
    function formatYearMonth(b_date){
        var b_date_year = b_date.getYear();
        var b_date_month = b_date.getMonth()+1;

        if(b_date_month < 10){
            b_date_month = "0" + b_date_month ;
        }
        return b_date_year +""+ b_date_month;
    }

    function getDateSub(date_b,date_e){

        // 下面的一定要有,否则就会但会一个NaN
        var b_date  = new Date(Date.parse(date_b.replace(/-/g,'/')));
        var e_date  = new Date(Date.parse(date_e.replace(/-/g,'/')));

        var b_year_month = formatYearMonth(b_date);
        var e_year_month = formatYearMonth(e_date);

        if(b_year_month != e_year_month){
            alert("请保持停场开始日期和结束日期在同一个月份之内。");
            return -1 ;
        }
        return  parseInt(Math.abs((e_date-b_date)/86400000)) + 1 ;
    }

    /**
    * 验证停场开始日期到结束日期一定是同一个月
    */
    function validateDate(){
        var date_b = form.BEGIN_DATE.value;
        var date_e = form.END_DATE.value;
        // 验证日期格式
        if(!isDate(date_b)){
            alert("停场开始日期不是有效日期yyyy-mm-dd。");
            return false;
        }
        if(!isDate(date_e)){
            alert("停场结束日期不是有效日期yyyy-mm-dd。");
            return false
        }

        if (date_b > date_e){
            alert("停场开始日期的起始时间不能晚于结束时间");
            return false;
        }

        // 开始计算 两个日期差值(1-31一共是31 天,而不是 30 天。)
        var dateSub  = getDateSub(date_b,date_e);
        if(dateSub == -1){
            return false ;
        }

        form.TC_DAYS.value = dateSub ;

        return true ;

    }

    生命的意义在于勇敢,错过,悔恨,真实之后的 风轻云淡。
  • 相关阅读:
    iOS开篇——UI之UILabel
    关于Block初识与自己的认识
    浅拷贝与深拷贝
    关于MacBook Pro选购
    准备考试 暂时停更
    Objective-C代理
    Objective-C协议初识
    Objective-C内存管理
    通讯录习题
    软件工程第二次作业 词频统计
  • 原文地址:https://www.cnblogs.com/safely-pointer/p/4269646.html
Copyright © 2011-2022 走看看