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 ;

}

时间: 2024-10-07 14:07:59

js验证两个日期是否是同一个年月,并计算天数差的相关文章

js求两个日期相差的天数

最近做系统的时候经常要用到js有关时间,自己不是很熟悉用js编写各种有关时间.日期的代码,都是网上百度,基本可以看的懂,但是自己就是写不出来,所以用的js应该在博客记录一下,加深印象. /** * 求两个日期相差的天数 * @param startDateStr * @param endDateStr * @returns */ function getDays(startDateStr, endDateStr){ var separatorStr = "-"; var startDa

JS判断两个日期的差或者判断两个日期的大小

判断两个日期之差 function DateDiff(sDate1,sDate2) { //sDate1和sDate2的格式为xxxx-xx-xx var aDate,oDate1,oDate2,iDays; //转换为xx-xx-xxxx格式 aDate = sDate1.split("-"); oDate1 = new Date(aDate[1] + "," + aDate[2] + "," + aDate[0]); aDate = sDat

js中两个日期大小比较,获取当前日期,日期加减一天

一.两个日期大小比较 1.格式:(yyyy-mm-dd) function duibi(a, b,flag) { var arr = a.split("-");     var starttime = new Date(arr[0], arr[1], arr[2]);     var starttimes = starttime.getTime();     var arrs = b.split("-"); var endTime = new Date(arrs[0

js判断两个日期的大小

function checkDate(){ //replace(/\-/g, "\/")是根据验证表达式把日期转化成长日期格式 var sDate = new Date(document.getElementById_x("datetimepickerStart").value.replace(/\-/g, "\/"));    var eDate = new Date(document.getElementById_x("dateti

js 求两个日期之间相差天数

//求两个日期之间的相差天数 function daysBetween(DateOne, DateTwo) { var OneMonth = DateOne.substring(5, DateOne.lastIndexOf('/')); var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexOf('/') + 1); var OneYear = DateOne.substring(0, DateOne.indexOf('/

js实现两个日期比较大小

原理 将两个日期转换成Date类型,然后再获取到毫秒数,进行比较 代码 function tab(date1,date2){ var oDate1 = new Date(date1); var oDate2 = new Date(date2); if(oDate1.getTime() > oDate2.getTime()){ console.log('第一个大'); } else { console.log('第二个大'); } } tab('2015-10-10 12:12:00','2015

js判断两个日期是否严格相差整年(合同日期常用)

1.var beginDate = new Date($("#InvoiceStartTime").val()); var endDate = new Date($("#InvoiceEndTime").val()); beginDate.setDate(beginDate.getDate()-1); var diffYear = endDate.getFullYear() - beginDate.getFullYear(); if ($("#Invoic

js 求两个日期相差的天数

转载 http://www.cnblogs.com/caoyuzhi/archive/2012/12/25/2831928.html <script type="text/javascript"> function getDays(strDateStart, strDateEnd) { var strSeparator = "-"; //日期分隔符 var oDate1; var oDate2; var iDays; oDate1 = strDateSt

js控制两个日期相减

function getOffDays(startDate, endDate){ var startDateArr = startDate.split("-"); var checkStartDate = new Date(); checkStartDate.setFullYear(startDateArr[0], startDateArr[1], startDateArr[2]); var endDateArr = endDate.split("-"); var