日期时间那点屁事儿

219 阅读1分钟

最近经常被日期缠绕着,久久不能释怀!
什么标准时间,日期格式化,当前日期的近一周,前一天、后一天日期啊,都让我给碰到了。
唉,我也够倒霉的,差点绕晕了。下面我就总结一下,防止以后忘了!!!
当前日期时间:

console.log(new Date())     //当前日期时间
//Mon Dec 16 2019 13:56:48 GMT+0800 (中国标准时间)

格式化日期:

//日期格式化  将标准日期转为 yyyy-mm-dd
dateFormat(time) {
      var date = new Date(time);
      var year = date.getFullYear();
      var month =
        date.getMonth() + 1 < 10
          ? "0" + (date.getMonth() + 1)
          : date.getMonth() + 1;
      var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
      var hours =
        date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
      var minutes =
        date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
      var seconds =
        date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
      // 拼接
      return year + "-" + month + "-" + day;
    }

当前日期的前一天:

GetPrevDay(str) {
      var year = str.substring(0, 4);
      var month = str.substring(5, 7);
      var day = str.substring(8, 10);
      var today = new Date(year, month - 1, day);
      var yesterSeconds = today.getTime() - 1000 * 60 * 60 * 24 ;//前几天就可以乘几
      var yesterday = new Date();
      yesterday.setTime(yesterSeconds);
      var strYear = yesterday.getFullYear();
      var strDay = yesterday.getDate();
      var strMonth = yesterday.getMonth() + 1;
      if (strMonth < 10) {
        strMonth = "0" + strMonth;
      }
      if (strDay < 10) {
        strDay = "0" + strDay;
      }
      return strYear + "-" + strMonth + "-" + strDay;
    }

当前日期的后一天:

getNextDay(str){
        str = new Date(str);
        str = +str + 1000*60*60*24; //后几天就乘几
        str = new Date(str);
        var y=str.getFullYear();
        var m= str.getMonth()+1;
        var d= str.getDate() ;
        if(m<10) {
            m="0"+m;
        }
        if(d<10) {
            d="0"+d;
        }
        return y+'-'+m+'-'+d;              
}

展示当前日期的后七天日期:

funDate(date, aa) {
      let date1;
      date1 = new Date(this.dateFormat(date));  //dateFormat方法前面已有,不多赘述
      let time1 = this.dateFormat(date1); //time1表示当前时间
      let date2 = new Date(date1);
      date2.setDate(date1.getDate() + aa);
      let time2 = this.dateFormat(date2);
      date = "";
      return time2;
    }

展现当前日期的前三天和后三天:

funDate(date, aa) {
      let date1;
      date1 = new Date(this.GetPrevDay(this.dateFormat(date)));
      let time1 = this.dateFormat(date1); //time1表示当前时间
      let date2 = new Date(date1);
      date2.setDate(date1.getDate() + aa);
      let time2 = this.dateFormat(date2);
      date = "";
      return time2;
    }