js 根据当前时间往前推15天或往后推15天等(例如当前时间往后15天后的日期。并实现今天、明天、后天、周)

本次分享,在项目中开发车票购买功能需要用到日期筛选

思路:

1、首先获取当前时间戳

2、根据当前时间戳拿到15天后的日期

3、根据天匹配星期几

4、将时间戳转换年、月、日并重组

实现代码

html 复制代码
// 获取当前日期
const today = new Date();
			
// 往前推15天的日期
const dates = [];
for(let i = 0; i < 15; i++) {
	const date = new Date(today.getFullYear(), today.getMonth(), today.getDate() + i);
	let name;
	if(i === 0) {
		name = '今天';
	} else if(i === 1) {
		name = '明天';
	} else if(i === 2) {
		name = '后天';
	} else {
		name = getDayName(date.getDay());
	}
	dates.push({ name: name, date: formatDate(date) });
}


// 根据星期几获取对应的名称
function getDayName(day) {
	 const dayNames = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
	 return dayNames[day];
}
	
// 格式化日期为 'yyyy-MM-dd' 格式
function formatDate(date) {
	 const year = date.getFullYear();
	 const month = String(date.getMonth() + 1).padStart(2, '0');
	 const day = String(date.getDate()).padStart(2, '0');
	 return `${year}-${month}-${day}`;
}

最后我们console.log(dates)

得到以下结果

交流qq群:712627377

关注小程序更多模板,插件等

相关推荐
爱吃大芒果16 小时前
Flutter 列表优化:ListView 性能调优与复杂列表实现
开发语言·hive·hadoop·flutter·华为
巴拉巴拉~~17 小时前
Flutter 通用按钮组件 CommonButtonWidget:多样式 + 多状态 + 交互优化
javascript·flutter·交互
豆苗学前端17 小时前
Vue 2 vs Vue 3 响应式原理深度对比(源码理解层面,吊打面试官)
前端·javascript·面试
啃火龙果的兔子17 小时前
Java 学习路线及学习周期
java·开发语言·学习
电饭叔17 小时前
自定义重载运算符--《python语言程序设计》2018版--第8章20题使用Rational类求和数列之一
开发语言·python
济南壹软网络科技有限公司17 小时前
高并发电商实战:基于Java生态的多元化盲盒系统技术实现方案
java·开发语言·开源·盲盒源码·盲盒定制开发
獭.獭.17 小时前
C++ -- 位图与布隆过滤器
开发语言·c++
工具人555517 小时前
python 环境问题
开发语言·python
小年糕是糕手17 小时前
【C++】string类(二)
开发语言·数据结构·c++·程序人生·算法·leetcode·数字货币
小鸡吃米…17 小时前
Python编程语言面试问题三
开发语言·python·面试