需求:获取当前月份所在第几季度,并计算出本季度的开始、结束日期。

技术:Moment.js

说明:在网上找了一下,没发现直接获取的办法,故自己整合了一下。

实现

一、获取当前所在第几季度(Moment.js官方文档有的),当前年份:

let currentQuarter = moment().quarter() // 当前是第几季度
let currentYear = moment().year() // 当前年

二、计算当前季度的开始日期。这个比较简单,运用官方文档提供的教程,根据上一步求出来的年份和季度值,就可以写出来:

moment(moment(currentYear + \'-01-01\').toDate()).quarter(currentQuarter)

三、计算结束时间:

let endMonth = 3 * parseInt(currentQuarter) //当季度最后一个月
/* 对月数进行格式化 */
if(endMonth < 10)
   endMonth = \'0\' + endMonth
else
   endMonth += \'\'

let endMonthDays = this.moment(currentYear + \'-\' + endMonth).daysInMonth(); // 末尾月天数
let endDays = currentYear + \'-\' + endMonth + \'-\' + endMonthDays //完整年月日整合
this.moment(endDays).toDate() // 计算结果

完。

收藏 打印