一、下载 moment
npm install moment --save
二、在需要用到的js文件或者vue文件的js中引入并使用moment
import moment from "moment"
import 'moment/locale/zh-cn'; // 导入中文语言包
moment.locale('zh-cn'); // 设置 Moment.js 使用中文语言环境
moment.updateLocale('zh-cn', { week: { dow: 1 } }); // 设置一周的第一天为周一
//日期类型
const DATE_CATEGORY = {
today: 'today',
yesterday: 'yesterday',
week: 'week',
lastWeek: 'lastWeek',
month: 'month',
lastMonth: 'lastMonth',
}
//开始时间
let start = ''
//结束时间
let end = ''
let handleDateType = {
//今日
today: (() => {
start = moment().format("YYYY-MM-DD")
end = moment().format("YYYY-MM-DD")
return {start , end}
})(),
//昨日
yesterday: (() => {
start = moment().subtract(1, 'days').format('YYYY-MM-DD');
end = moment().subtract(1, 'days').format('YYYY-MM-DD');
return {start , end}
})(),
//这周 后面带有时分秒
week: (() => {
start = moment().week(moment().week()).startOf('week').format('YYYY-MM-DD HH:mm:ss');
end = moment().week(moment().week()).endOf('week').format('YYYY-MM-DD HH:mm:ss');
return {start , end}
})(),
//上周
lastWeek: (() => {
let weekOfday = parseInt(moment().format('d'))
start = moment().subtract(weekOfday + 7, 'days').format('YYYY-MM-DD')
end = moment().subtract(weekOfday + 1, 'days').format('YYYY-MM-DD')
return {start , end}
})(),
//本月
month: (() => {
start = moment().startOf('month').format('YYYY-MM-DD');
end = moment().endOf('month').format('YYYY-MM-DD');
return {start , end}
})(),
//上月
lastMonth: (() => {
start = moment().subtract(1,'month').startOf('month').format('YYYY-MM-DD')
end = moment().subtract(1,'month').endOf('month').format('YYYY-MM-DD')
return {start , end}
})()
}
export default {
DATE_CATEGORY,
handleDateType
}
三、常用日期
'1分钟之前': [moment().subtract(1, 'm'), moment().subtract(1, 'm')],
'3分钟之前': [moment().subtract(3, 'm'), moment()],
'15分钟之前': [moment().subtract(15, 'm'), moment()],
'1小时之前': [moment().subtract(1, 'h'), moment()],
'1天': [moment().startOf('day'), moment().endOf('day')],
'今天': [moment(), moment()],
'最近3天': [moment().subtract(3, 'days'), moment()],
'本周': [moment().startOf('week'), moment().endOf('week')],
'最近7天': [moment().subtract(6, 'days'), moment()],
'本月': [moment().startOf('month'), moment().endOf('month')],
'最近30天': [moment().subtract(29, 'days'), moment()],
'最近3个月': [moment().subtract(3, 'month'), moment()],
'最近半年': [moment().subtract(6, 'month'), moment()],
当前至本周末: [ moment(), moment().endOf('weeks') ],
当前至本月底: [ moment(), moment().endOf('months') ],
当前至本年底: [ moment(), moment().endOf('year') ],
本周:[ moment().startOf('weeks'), moment().endOf('weeks') ],
获取两个日期相差几天: moment('2022-02-06').diff(moment('2022-01-31'), 'days')
'当前时间减去1天': moment().subtract(1,'days')