在前端项目中,绝对肯定的会涉及到日期时间的格式化的需求,并且很多地方都会用到。格式化日期时间的方法有很多,封装一个函数是一个很好的方法,仔细想来,遇到更多的需求还是有一定的局限性。这个时候安装一个依赖“moment.js”就可以很好的满足日期格式化的各种需求。
安装:
npm install moment
//或者
yarn add moment
引入:
在main.js里面引入
// require 方式
const moment = require('moment');
// import 方式
import moment from 'moment';
使用:
格式化当前时间:
this.moment().format("YYYY-MM-DD HH:mm:ss")
当前年:
this.moment().format("YYYY")
// or
this.moment().year(); // Number
当前月:
this.moment().format('MM')
当前季度:
this.moment().quarter()
获取本日截止时间:
this.moment().startOf('day').format("YYYY-MM-DD HH:mm:ss")
// or
this.moment().endOf('day').format("YYYY-MM-DD HH:mm:ss")
上一年/下一年:
// 上一年:
this.moment().add(-1, 'y').format("YYYY")
// 下一年:
this.moment().add(1, 'y').format("YYYY")
// 上几年和下几年同理,做momment日期加减,月季度亦同理
上一季度/下一季度:
// 上一季度:
this.moment().add(-1, 'Q').quarter()
// 下一季度:
this.moment().add(1, 'Q').quarter()
年开始结束时间:
this.moment().startOf('year')
// or
this.moment().endOf('year')
当前季度的开始结束时间:
// 当前季度开始时间
this.moment().startOf('quarter').format("YYYY-MM-DD")
// 当前季度结束时间
this.moment().endOf('quarter').format("YYYY-MM-DD")
指定年指定季度的开始结束时间:(某年某季度的开始结束时间)
this.moment(moment().format("YYYY-02-01")).startOf('quarter').format("YYYY-MM-DD")
this.moment(moment().format("YYYY-02-01")).endOf('quarter').format("YYYY-MM-DD")
月度开始结束时间
this.moment().startOf('month')
this.moment().endOf('month')
昨天
this.moment().subtract(1, 'days')
明天
this.moment().add(1, 'days')
上一月
this.moment().subtract(1, 'months')
下一月
this.moment().add(1, 'months')