???/** ?????* 日期解析,字符串转日期 ?????* @param dateString 可以为2017-02-16,2017/02/16,2017.02.16 ?????* @returns {Date} 返回对应的日期对象 ?????*/ ?????function dateParse(dateString){ ?????????var SEPARATOR_BAR = "-"; ?????????var SEPARATOR_SLASH = "/"; ?????????var SEPARATOR_DOT = "."; ?????????var dateArray; ?????????if(dateString.indexOf(SEPARATOR_BAR) > -1){ ?????????????dateArray = dateString.split(SEPARATOR_BAR); ???????????}else if(dateString.indexOf(SEPARATOR_SLASH) > -1){ ?????????????dateArray = dateString.split(SEPARATOR_SLASH); ?????????}else{ ?????????????dateArray = dateString.split(SEPARATOR_DOT); ?????????} ?????????return new Date(dateArray[0], dateArray[1]-1, dateArray[2]); ??????}; ???????????/** ?????* 日期比较大小 ?????* compareDateString大于dateString,返回1; ?????* 等于返回0; ?????* compareDateString小于dateString,返回-1 ?????* @param dateString 日期 ?????* @param compareDateString 比较的日期 ?????*/ ?????function dateCompare(dateString, compareDateString){ ?????????if(isEmpty(dateString)){ ?????????????alert("dateString不能为空"); ?????????????return; ?????????} ?????????if(isEmpty(compareDateString)){ ?????????????alert("compareDateString不能为空"); ?????????????return; ?????????} ?????????var dateTime = dateParse(dateString).getTime(); ?????????var compareDateTime = dateParse(compareDateString).getTime(); ?????????if(compareDateTime > dateTime){ ?????????????return 1; ?????????}else if(compareDateTime == dateTime){ ?????????????return 0; ?????????}else{ ?????????????return -1; ?????????} ?????}; ???????????/** ?????* 判断日期是否在区间内,在区间内返回true,否返回false ?????* @param dateString 日期字符串 ?????* @param startDateString 区间开始日期字符串 ?????* @param endDateString 区间结束日期字符串 ?????* @returns {Number} ?????*/ ?????function isDateBetween(dateString, startDateString, endDateString){ ?????????if(isEmpty(dateString)){ ?????????????alert("dateString不能为空"); ?????????????return; ?????????} ?????????if(isEmpty(startDateString)){ ?????????????alert("startDateString不能为空"); ?????????????return; ?????????} ?????????if(isEmpty(endDateString)){ ?????????????alert("endDateString不能为空"); ?????????????return; ?????????} ?????????var flag = false; ?????????var startFlag = (dateCompare(dateString, startDateString) < 1); ?????????var endFlag = (dateCompare(dateString, endDateString) > -1); ?????????if(startFlag && endFlag){ ?????????????flag = true; ?????????} ?????????return flag; ?????}; ???????????/** ?????* 判断日期区间[startDateCompareString,endDateCompareString]是否完全在别的日期区间内[startDateString,endDateString] ?????* 即[startDateString,endDateString]区间是否完全包含了[startDateCompareString,endDateCompareString]区间 ?????* 在区间内返回true,否返回false ?????* @param startDateString 新选择的开始日期,如输入框的开始日期 ?????* @param endDateString 新选择的结束日期,如输入框的结束日期 ?????* @param startDateCompareString 比较的开始日期 ?????* @param endDateCompareString 比较的结束日期 ?????* @returns {Boolean} ?????*/ ?????function isDatesBetween(startDateString, endDateString, ?????????????startDateCompareString, endDateCompareString){ ?????????if(isEmpty(startDateString)){ ?????????????alert("startDateString不能为空"); ?????????????return; ?????????} ?????????if(isEmpty(endDateString)){ ?????????????alert("endDateString不能为空"); ?????????????return; ?????????} ?????????if(isEmpty(startDateCompareString)){ ?????????????alert("startDateCompareString不能为空"); ?????????????return; ?????????} ?????????if(isEmpty(endDateCompareString)){ ?????????????alert("endDateCompareString不能为空"); ?????????????return; ?????????} ?????????var flag = false; ?????????var startFlag = (dateCompare(startDateCompareString, startDateString) < 1); ?????????var endFlag = (dateCompare(endDateCompareString, endDateString) > -1); ?????????if(startFlag && endFlag){ ?????????????flag = true; ?????????} ?????????return flag; ?????};</span> ?
js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内
js判断时间区间是否在另外一个时间区间内,js时间格式化,js时间比较大小
js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内
原文地址:https://www.cnblogs.com/hnsongbiao/p/9076533.html