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 ;

    }

    生命的意义在于勇敢,错过,悔恨,真实之后的 风轻云淡。
  • 相关阅读:
    Git操作命令2-在Git仓库里管理文件历史-分支操作
    mvvmlight框架搭建VS版本不同导致的问题
    wpf命令详解
    wpf触发器
    wpf控件模型
    wpf中Interaction.Behaviors详解
    wpf附加属性详解
    wpf依赖属性概述
    wpf体系结构
    MySql5.7下载安装配置教程
  • 原文地址:https://www.cnblogs.com/safely-pointer/p/4269646.html
Copyright © 2011-2022 走看看