包括获取当前日期、获取指定日期、计算日期差、计算两个日期的月份差、获取当前月有几天
1、获取当前日期
接收参数 format
@return 指定格式日期
currentDate(format = 'yyyy-mm-dd') {
const date = new Date()
const year = date.getFullYear()
const month = numberComplement(date.getMonth() + 1)
const day = numberComplement(date.getDate())
if (format === 'yyyy-mm-dd') {
return `${year}-${month}-${day}`
}
if (format === 'yyyy/mm/dd') {
return `${year}/${month}/${day}`
}
return `${year}年${month}月${day}日`
}
2、获取指定日期
接收参数targetDate、day
targetDate:目标开始日期
day:目标几天后的日期
比如 targetDate=2023-03-07,day=7
@return 2023-03-14
getAppointDate(targetDate, day) {
let result = new Date(new Date(targetDate).getTime() + 24 * 60 * 60 * 1000 * day);
return `${result.getFullYear()}-${numberComplement(result.getMonth() + 1)}-${numberComplement(result.getDate())}`;
}
3、计算日期差
计算两个日期间隔几天
接收参数startDate、endDate
@return days(相差天数)
getDaysDifference(startDate, endDate) {
const sDate = Date.parse(startDate);
const eDate = Date.parse(endDate);
const days = (sDate - eDate) / (24 * 60 * 60 * 1000);
return days;
}
4、计算两个日期的月份差
接收参数startDate、endDate
diffMonths(startDate, endDate) {
let startYear = startDate.split("-")[0]
let endYear = endDate.split("-")[0]
let startM = startDate.split("-")[1]
let endM = endDate.split("-")[1]
let startMonth = startYear + startM
let endMonth = endYear + endM
if (startMonth > endMonth) {
let diffYear = startYear - endYear
let diffMonth = startM - endM
return diffYear * 12 + diffMonth
} else if (startMonth < endMonth) {
let diffYear = endYear - startYear
let diffMonth = endM - startM
return diffYear * 12 + diffMonth
} else {
return 0
}
}
5、获取当前月有几天
@return days
getDays() {
const date = new Date()
return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();
}
如果觉得有用随手点个赞吧,谢谢
关注我,不定时分享技术干货~