利用JS来计算特定天数的日期

源码<script type="text/JAVAscript" charset="utf-8">class DateTransform{ /* dayNum: 天数; startDate: 开始日期 */ constructor (dayNum,startDate) { //将天数转换为数字型 this.dayNum = Number(dayNum); //获取开始日期 , 若未传值 , 则默认以当前时间 this.startDate = startDate || this.StampToStr(); }/* 计算日期 */ format (type) { const dateType = type || 'YYYY-MM-DD hh:mm:ss';//格式化日期 const start = this.StrToStamp(this.startDate);//开始日期转时间戳 const num = this.dayNum*24*60*60*1000;//天数转毫秒数 const end = this.StampToStr(start + num); let time = ''; for(let i in dateType){ const reg = /^[a-z]{1}$/i; if(reg.test(dateType[i])){ //字母 time += end[i]; }else{ //非字母 time += dateType[i]; }; }; return time; }/* 时间戳转字符串 */ StampToStr (stamp) { //若未传参 , 则默认以当前时间 const dateTime = stamp ? new Date(stamp) : new Date(); //年 const year = dateTime.getFullYear(); //月 const month = dateTime.getMonth() + 1 < 10 ? "0" + (dateTime.getMonth() + 1) : dateTime.getMonth() + 1;//0-11 //日 const date = dateTime.getDate() < 10 ? "0" + dateTime.getDate() : dateTime.getDate(); //时 const hour = dateTime.getHours() < 10 ? "0" + dateTime.getHours() : dateTime.getHours();//0-23 //分 const minute = dateTime.getMinutes() < 10 ? "0" + dateTime.getMinutes() : dateTime.getMinutes();//0-59 //秒 const second = dateTime.getSeconds() < 10 ? "0" + dateTime.getSeconds() : dateTime.getSeconds();//0-59 return `${year}-${month}-${date} ${hour}:${minute}:${second}`; }/* 字符串转时间戳 */ StrToStamp (str) { //若未传参 , 则默认以当前时间 return str ? new Date(str).getTime() : new Date().getTime(); } };var time = new DateTransform(-7).format();console.log(time);</script>
【利用JS来计算特定天数的日期】


    推荐阅读