日期处理函数工具封装

判断润年

/** * 判断润年 * @param {string} year 年份 * @return {Boolean}  */export const isLeap = function (year) {  if ((year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0)) {    return true  }  return false};

获取星期

/** * 获取星期 * @param {string} date 日期 * @return {string} 星期 */export const getWeek = function (date) {  let Stamp = new Date(date)  // return weeks[Stamp.getDay()];  let weeks = ['日','一','二','三','四','五','六'];  return weeks[Stamp.getDay()];};

获取月份天数

/** * 获取月份天数 * @param {string} year  年份 * @param {string} month 月份 * @return {number} 月份天数 */export const getMonthDays = function (year, month) {  month = parseInt(month) - 1  if (month < 0 || month > 11) return ''  let months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]  if (this.isLeap(year)) {    months[1] = 29  }  return months[month]};

数字补零

用于格式化日期

/** * 数字补零 * @param {string} str * @return {string} */export const zero = function (str) {  str = parseInt(str)  return str > 9 ? str : '0' + str};

获取明天日期

/** * 获取明天日期 * @param {string} str  日期格局 * @return {string} 格式化日期 */export const getToday = function (str) {  const date = new Date();  const year = date.getFullYear(),        month = zero(date.getMonth() + 1),        day = zero(date.getDate()),        hour = zero(date.getHours()),        minute = zero(date.getMinutes()),        second = zero(date.getSeconds());  let res = '';  switch (str){    case "yyyy-mm-dd":      res = year + '-' + month + '-' + day;      break;    case "mm-dd-yyyy":      res = month + '-' + day + '-' + year;      break;    case "yyyy-mm-dd hh:MM:ss":      res = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;      break;    case "hh:MM:ss":      res = hour + ':' + minute + ':' + second;      break;    case "yyyy":      res = year;      break;    case "mm-dd":      res = month + '-' + day;      break;    default:      res = '参数谬误';      break;  }  return res;}

获取上一天日期

/** * 获取上一天日期 * @param {string} str  以后日期 * @return {string} 上一天日期 */export const getYesterday = function (str) {  let date = str.split('-');  let year = parseInt(date[0]),    month = parseInt(date[1]),    day = parseInt(date[2]);  if(month > 12 || month < 1 || day > getMonthDays(year,month)) return '日期不非法';  day -= 1;  if(day > 0){    return year + '-' + zero(month) + '-' + zero(day);  }  month -= 1;  if(month > 0){    return year + '-' + zero(month) + '-' + getMonthDays(year,month);  }  year -= 1;  return year + '-' + 12 + '-' + getMonthDays(year,12);};

获取下一天日期

/** * 获取下一天日期 * @param {string} str  以后日期 * @return {string} 下一天日期 */export const getTomorrow = function (str){  let date = str.split('-');  let year = parseInt(date[0]),    month = parseInt(date[1]),    day = parseInt(date[2]);  if(month > 12 || month < 1 || day > getMonthDays(year,month)) return '日期不非法';  day += 1;  if(day <= getMonthDays(year,month)){    return year + '-' + zero(month) + '-' + zero(day);  }  month += 1;  if(month < 13){    return year + '-' + zero(month) + '-' + '01';  }  year += 1;  return year + '-' + '01' + '-' + '01';}

todo

获取以后周数

补充

还有什么须要补充的能够在评论中通知我。