js vue获取今天、昨天、近7天、近30天、本月、上个月、近一年时间 例:2022-04-07

1. 在util里新建一个date.js 赋值以下代码

//补零
function doHandleMonth(month) {
	var m = month;
	if (month.toString().length == 1) {
		m = "0" + month;
	}
	return m;
}

// 格式化日期: yyyy-MM-dd
function formatDate(date) {
	const year = date.getFullYear()
	let month = date.getMonth() + 1
	let day = date.getDate()
	if (month < 10) {
		month = `0${month}`
	}
	if (day < 10) {
		day = `0${day}`
	}
	return (`${year}-${month}-${day}`)
}
// 近X天
export function getDay(day) {
	var today = new Date();
	var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;
	today.setTime(targetday_milliseconds);
	var tYear = today.getFullYear();
	var tMonth = today.getMonth();
	var tDate = today.getDate();
	tMonth = doHandleMonth(tMonth + 1);
	tDate = doHandleMonth(tDate);
	return tYear + "-" + tMonth + "-" + tDate;
}
// 本月
export function getNowMonth() {
	var today = new Date();
	var tYear = today.getFullYear();
	var tMonth = today.getMonth();
	var tDate = today.getDate();
	tMonth = doHandleMonth(tMonth + 1);
	tDate = "01"
	return tYear + "-" + tMonth + "-" + tDate;
}

// 上月日期
export function getLastMonth() {
	const date = new Date()
	const year = date.getFullYear()
	const month = date.getMonth()
	const lastMonthStartDate = formatDate(new Date(year, month - 1, 1))
	const lastMonthEndDate = formatDate(new Date(year, month, 0))
	const lastMonth = []
	lastMonth.push(lastMonthStartDate, lastMonthEndDate)
	return lastMonth
}

2.在需要使用的页面引入

	import {
		getDay,
		getNowMonth,
		getLastMonth
	} from "@/util/date.js"

3.使用

switch (index) {
					case 0:
						this.endDate = nowData
						this.startDate = nowData //今天
						break;
					case 1:
						this.endDate = getDay(-1)
						this.startDate = getDay(-1) //昨天
						break;
					case 2:
						this.endDate = nowData
						this.startDate = getDay(-7) //近7天
						break;
					case 3:
						this.endDate = nowData
						this.startDate = getDay(-30) //近30
						break;
					case 4:
						this.endDate = nowData
						this.startDate = getNowMonth() //本月
						break;
					case 5:
						this.endDate = getLastMonth()[1]
						this.startDate = getLastMonth()[0]
						break;
					case 6:
						this.endDate = nowData
						this.startDate = getDay(-365)
						break;
				}

本人使用场景:点击上面时间选择器 下面日期联动

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值