其他分享
首页 > 其他分享> > JS内置对象Date方法整理

JS内置对象Date方法整理

作者:互联网

输入两个日期获取之间相隔的天数

/**
 * @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();
}

 

标签:date1,内置,01,JS,60,date2,Date,new
来源: https://www.cnblogs.com/bobkang/p/15854094.html