计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较

Posted 归尘2016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较相关的知识,希望对你有一定的参考价值。

/**
 * 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较
 * @param higDate   减数
 * @param lowDate   被减数
 * @returns 差值天数  格式不正确返回null
 * @dada 2016-09-19 lhh添加备注
 */
function DateDiff(higDate, lowDate) {
	//sDate1和sDate2是2006-12-18格式
	var aDate, oDate1, oDate2, iDays;
	aDate = higDate.split("-");
	oDate1 = new Date((aDate[1] + ‘-‘ + aDate[2] + ‘-‘ + aDate[0]).replace(/-/g, "/"));
	//转换为12-18-2006格式
	aDate = lowDate.split("-");
	oDate2 = new Date((aDate[1] + ‘-‘ + aDate[2] + ‘-‘ + aDate[0]).replace(/-/g, "/"));
	var diff = oDate1 - oDate2;
	iDays = parseInt(diff / 1000 / 60 / 60 / 24);
	//把相差的毫秒数转换为天数
	if (isNaN(iDays)) return null;
	return iDays;
}

 

/**
 * 日期比较 支持格式YYYY-mm-dd HH:mm:ss比较
 * @param Date1   日期1
 * @param Date2   日期2
 * @returns 差值(为0相等  正值 Date1 大于 Date2 负值相反)  格式不正确返回null
 * @dada 2016-09-19 lhh添加备注
 */
function comptime(Date1, Date2) {
    var higTimes = Date1.substring(0, 10).split(‘-‘);
    var lowTimes = Date2.substring(0, 10).split(‘-‘);
    higTime = higTimes[1] + ‘-‘ + higTimes[2] + ‘-‘ + higTimes[0] + ‘ ‘ + higDate.substring(10, 19);
    lowTime = lowTimes[1] + ‘-‘ + lowTimes[2] + ‘-‘ + lowTimes[0] + ‘ ‘ + lowDate.substring(10, 19);
    var num = (Date.parse(higTime) - Date.parse(lowTime)) / 3600 / 1000;
    if (isNaN(num)) return null;
    return num;
}

 

/**
 * 两个日期的比较
 * @param strDateStart
 * @param strDateEnd
 * @returns {Boolean}
 */
function twoDateSize(strDateStart, strDateEnd) {
    var strSeparator = "-"; // 日期分隔符
    var oDate1;
    var oDate2;
    var iDays;
    oDate1 = strDateStart.split(strSeparator);
    oDate2 = strDateEnd.split(strSeparator);
    var strDateS = new Date(oDate1[0], oDate1[1] - 1, oDate1[2]);
    var strDateE = new Date(oDate2[0], oDate2[1] - 1, oDate2[2]);
    //开始大于结束
    if (strDateS > strDateE) {
        return false;
    } else {
        return true;
    }
}
function getDays(strDateStart, strDateEnd) {
	var strSeparator = "-"; // 日期分隔符
	var oDate1;
	var oDate2;
	var iDays;
	oDate1 = strDateStart.split(strSeparator);
	oDate2 = strDateEnd.split(strSeparator);
	var strDateS = new Date(oDate1[0], oDate1[1] - 1, oDate1[2]);
	var strDateE = new Date(oDate2[0], oDate2[1] - 1, oDate2[2]);
	iDays = parseInt(Math.abs(strDateS - strDateE) / 1000 / 60 / 60 / 24); // 把相差的毫秒数转换为天数
	return iDays;
}

  

 

以上是关于计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较的主要内容,如果未能解决你的问题,请参考以下文章

两个日期之间相差的天数

如何用EXCEL计算两个日期之间相差的年数和月数?

批处理代码(两日期之间相差的天数)怎么写才能数出来

如何用excel计算两个日期之间相差的年数和月数

实现:判断日期之间关系(相交,相离,重合),得到相交重合的天数以及计算两个日期相差的天数

java中计算两个日期之间差的天数