moment.js

// 近3天
this.getRecentDay(3);

//近一周
this.getRecentDay(7);

// 近一个月
this.getRecentMonth(1);

// 近三个月
this.getRecentMonth(3);

// 近半年
this.getRecentMonth(6);

// 近一年
this.getRecentMonth(12);

// 近N天 -Moment.js
getRecentDay: function (n) {
  let day = moment(new Date()).subtract(n, 'days').format('YYYY-MM-DD');
  console.log(day);
  return day;
},
// 近N月 - Moment.js
getRecentMonth: function (n) {
  let month = moment(new Date()).subtract(n, 'months').format('YYYY-MM-DD');
   console.log(month);
   return month;
 },

new Date()

// 近3天
this.getRecentDay_Date(-3);
//近一周
this.getRecentDay_Date(-7);
// 近一个月
this.getRecentMonth_Date(1);
// 近三个月
this.getRecentMonth_Date(3);
// 近半年
this.getRecentMonth_Date(6);
// 近一年
this.getRecentMonth_Date(12);

// 近N天 - new Date()
getRecentDay_Date: function (n) {
  var dd = new Date();
  dd.setDate(dd.getDate() + n); //获取n天后的日期
  var y = dd.getFullYear();
  var m = dd.getMonth() + 1; //获取当前月份的日期
  var d = dd.getDate();
  let day = y + '-' + m + '-' + d;
  console.log(day);
  return day;
},
// 近N月 - new Date()
getRecentMonth_Date: function (n) {
  let result = '';
  const datenow = new Date();
  const dateend =
    datenow.getFullYear().toString() +
    '-' +
    (datenow.getMonth() + 1).toString() +
    '-' +
    datenow.getDate().toString();
  	datenow.setMonth(datenow.getMonth() - n);
  	let dyear = datenow.getFullYear();
  	let dmonth = datenow.getMonth() + 1;
  	dmonth = dmonth < 10 ? 0 + dmonth : dmonth;
  	let dday = datenow.getDate();
  	const datestart =
   	 dyear.toString() + '-' + dmonth.toString() + '-' + dday.toString();
  	result += datestart + ',';
 	result += dateend;
  	console.log(datestart);
  	return result;
},

基于Vue Cli 2.0 模板示例如下:
在这里插入图片描述

App.vue

<template>
  <div id="app">
    <img alt="Vue logo" src="https://vuejs.org/images/logo.png" />
    <HelloWorld msg="Welcome to Your Vue.js App" />
  </div>
</template>

<script>
import HelloWorld from './components/HelloWorld.vue';
import moment from 'moment';
export default {
  name: 'App',
  components: {
    HelloWorld,
  },
  mounted() {
    this.init();
  },
  methods: {
    init: function () {
      // 近3天
      this.getRecentDay(3);
      this.getRecentDay_Date(-3);
      //近一周
      this.getRecentDay(7);
      this.getRecentDay_Date(-7);
      // 近一个月
      this.getRecentMonth(1);
      this.getRecentMonth_Date(1);
      // 近三个月
      this.getRecentMonth(3);
      this.getRecentMonth_Date(3);
      // 近半年
      this.getRecentMonth(6);
      this.getRecentMonth_Date(6);
      // 近一年
      this.getRecentMonth(12);
      this.getRecentMonth_Date(12);
    },
    // 近N天 -Moment.js
    getRecentDay: function (n) {
      let day = moment(new Date()).subtract(n, 'days').format('YYYY-MM-DD');
      console.log(day);
      return day;
    },
    // 近N月 - Moment.js
    getRecentMonth: function (n) {
      let month = moment(new Date()).subtract(n, 'months').format('YYYY-MM-DD');
      console.log(month);
      return month;
    },
    // 近N天 - new Date()
    getRecentDay_Date: function (n) {
      var dd = new Date();
      dd.setDate(dd.getDate() + n); //获取n天后的日期
      var y = dd.getFullYear();
      var m = dd.getMonth() + 1; //获取当前月份的日期
      var d = dd.getDate();
      let day = y + '-' + m + '-' + d;
      console.log(day);
      return day;
    },
    // 近N月 - new Date()
    getRecentMonth_Date: function (n) {
      let result = '';
      const datenow = new Date();
      const dateend =
        datenow.getFullYear().toString() +
        '-' +
        (datenow.getMonth() + 1).toString() +
        '-' +
        datenow.getDate().toString();
      datenow.setMonth(datenow.getMonth() - n);
      let dyear = datenow.getFullYear();
      let dmonth = datenow.getMonth() + 1;
      dmonth = dmonth < 10 ? 0 + dmonth : dmonth;
      let dday = datenow.getDate();
      const datestart =
        dyear.toString() + '-' + dmonth.toString() + '-' + dday.toString();
      result += datestart + ',';
      result += dateend;
      console.log(datestart);
      return result;
    },
  },
};
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐