类星体在使用日期之间获取月份

quasar get month in between using date

const dateEnd = date.formatDate(timeStamp, ‘MMM YYYY’)

const dateStart = date.subtractFromDate(dateEnd, { month: 10 })

我有这两个日期,我需要 dateStart 和 dateEnd 之间的月份列表。我可以知道如何获得它吗?

可以使用moment.js(https://www.npmjs.com/package/vue-moment)等库。您也可以使用 CDN。它使操作日期变得容易。

你可以考虑这个片段。

const dateStart = moment('2020-03-30');
const dateEnd = moment('2020-06-05');
let monthList = [];
while (dateEnd > dateStart || dateStart.format('M') === dateEnd.format('M')) {
   monthList.push(dateStart.format('MM'));
   dateStart.add(1,'month');
}

在这里,您可以按特定格式推送月份。如果你想检查日期格式,你可以check here

Quasar 框架有许多可以帮助您的实用程序。在这种情况下,我们将像这样从类星体导入日期实用程序。

import { date } from 'quasar';

日期实用程序具有格式化、添加、减去日期等功能。我知道您有一个结束日期,您希望找到从开始日期到 11 个月(包括结束日期)的列表结束日期。

let dateEnd = date.formatDate('2021/12/25', 'YYYY MMM D'); // e.g '2021/12/25'
let dateStart = date.subtractFromDate(dateEnd, { month: 10 });

您可以通过使用 while 循环、计数器为 0 和日期实用程序的 addToDate 方法来实现。

let counter = 0;
let newDate = dateStart;
let monthsList = [];
while(counter <= 10){
  monthsList.push(date.formatDate(newDate, 'MMM'));
    newDate = date.addToDate(newDate, { month: 1 });
     counter++;
}
// output [ "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]

或者,您可以使用数组 unshift 方法、从 10 开始的倒计时和 subtractFromDate 方法。

let counter = 10;
let newDate = dateEnd;
let monthsList = [];
while(counter >= 0){
  monthsList.unshift(date.formatDate(newDate, 'MMM'));
  newDate = date.subtractFromDate(newDate, { month: 1 });
  counter--;
}

您可以在此处阅读有关类星体中日期实用程序的更多信息:https://quasar.dev/quasar-utils/date-utils