日期之间的计算
一、计算两日期之间差多少天
日期格式为:yyyy-mm-dd
计算日期差值的方法:
//计算日期差值的方法:
function getDaysBetween(dateString1, dateString2) {
let startDate = Date.parse(dateString1);
let endDate = Date.parse(dateString2);
return (startDate - endDate ) / (1 * 24 * 60 * 60 * 1000);
}
方法调用:
// 方法调用
getDaysBetween(date1, date2)
二、获取当前年月日
vue3方法:
const getEndYMD = () => {
let myDate = new Date()
let myYear = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
let myMonth = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月)
let myToday = myDate.getDate(); //获取当前日(1-31)
myMonth = myMonth > 9 ? myMonth : '0' + myMonth
myToday = myToday > 9 ? myToday : '0' + myToday
let nowDate = myYear +'-'+ myMonth +'-'+ myToday
return nowDate
}
调用方法:
getEndYMD ()
//or
const xx = getEndYMD ()
三、获取*年前年月日
vue3方法:
const getStartYMD = (date,changeYear) => {
let myDate = new Date(date)
let myYear = myDate.getFullYear()-changeYear; //获取完整的年份(4位,1970-????)
let myMonth = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月)
let myToday = myDate.getDate(); //获取当前日(1-31)
myMonth = myMonth > 9 ? myMonth : '0' + myMonth
myToday = myToday > 9 ? myToday : '0' + myToday
let nowDate = myYear +'-'+ myMonth +'-'+ myToday
return nowDate
}
调用方法:
getStartYMD('2023-06-05',1)
getStartYMD('2023-06-05',-1)
*注意:方法不太严谨,如需精确,需要完善。
四、获取*天后的日期afterDay-3
vue3方法:
const getDateStr = (endYMD,afterDay) =>{
const dd = new Date(endYMD);
dd.setDate(dd.getDate() - afterDay); //获取7天后的日期
const year = dd.getFullYear();
const mon = dd.getMonth() + 1; //获取当前月份的日期
const day = dd.getDate();
return year + '-' + ( mon < 10 ? ( '0' + mon ) : mon ) + '-' + ( day < 10 ? ( '0' + day ) : day) ;
}
调用方法:
//七天后是几号,几天算一天
getDateStr(getEndYMD(),6)
五、日期格式转换
const date = '2023-06-05'
console.log(new Date(date))//国际标准时间
console.log(new Date(date).getDate())//当天几号
console.log(new Date(date).setDate(new Date(date).getDate()))//