输入两个日期获取之间相隔的天数
/** * @description输入两个日期获取之间相隔的天数 * @param {string} date1 * @param {string} date2 * @return {number} * @example date1 = "2020-01-15", date2 = "2019-12-31" */ function daysBetweenDates (date1, date2) { return Math.abs((+new Date(date1).getTime() - (+new Date(date2).getTime()))) / 24 / 60 / 60 / 1000 };输入两个Date判断是否是同一天
/** * @description输入两个Date判断是否是同一天 * @param {Date} date1 * @param {Date} date2 * @returns {boolean} * @example new Date('2000/01/01 08:00:00'), new Date('2000/01/01 08:45:00') */ function checkDaySame (date1, date2) { return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate()=== date2.getDate() }判断两个日期是否相等
/** * 判断两个日期是否相等 * @param {*} date1 * @param {*} date2 * @returns {boolean} * @example new Date('2000/01/01 08:00:00'), new Date('2000/01/01 08:45:00') */ function checkDayEqual (date1, date2) { return date1.getTime() === date2.getTime() }判断两个日期相差是否小于一个小时
/** * @description判断两个日期相差是否小于一个小时 * @param {Date} date1 * @param {Date} date2 * @returns */ function checkDateWithinOneHour(date1, date2) { return Math.abs(date1 - date2) / 1000 / 60 <= 60 }判断a日期是否早于b日期
/** * @description 判断a日期是否早于b日期 * @param {*} param0 * @returns {boolean} * @example {a: new Date('2000/01/01 08:00:00'), b: new Date('2000/01/01 08:45:00')} */ function checkDateEarilerOne({a, b}) { return a < b }
获取两个日期相差的时分秒
function getDiffDate( a, b ) { const dif = Math.abs(a - b); const hrs = Math.floor(dif / 1000 / 60 / 60); const min = Math.floor(dif / 1000 / 60) % (hrs * 60 || 60); const sec = Math.floor(dif / 1000) % (min * 60 + hrs * 60 * 60 || 60); return { hrs, min, sec } }
获取日期下一个一刻钟
function getNextNearestQuarterHourOfDate(date) { const quarter = 15 * 60 * 1000; const closestQuarter = new Date(Math.round(date / quarter) * quarter); const nextQuarter = closestQuarter.getTime() < date.getTime() ? new Date(closestQuarter.getTime() + quarter) : closestQuarter; return nextQuarter.getMinutes(); }