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

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

相关推荐
q***318331 分钟前
Windows安装Rust环境(详细教程)
开发语言·windows·rust
hadage23339 分钟前
--- JavaScript 的一些常用语法总结 ---
java·前端·javascript
合作小小程序员小小店44 分钟前
桌面安全开发,桌面二进制%恶意行为拦截查杀%系统安全开发3.0,基于c/c++语言,mfc,win32,ring3,dll,hook,inject,无数据库
c语言·开发语言·c++·安全·系统安全
合作小小程序员小小店44 分钟前
桌面开发,超市管理系统开发,基于C#,winform,sql server数据库
开发语言·数据库·sql·microsoft·sqlserver·c#
Codeking__1 小时前
C++ 11 atomic 原子性操作
开发语言·c++
懂得节能嘛.1 小时前
【Java动态线程池】Redis监控+动态调参
java·开发语言·redis
jason_yang1 小时前
vue3中createApp多个实例共享状态
javascript·vue.js
_瑶瑶_1 小时前
浅记一下ElementPlus中的虚拟化表格(el-table-v2)的简单使用
前端·javascript
ModestCoder_1 小时前
ROS Bag与导航数据集技术指南
开发语言·人工智能·自然语言处理·机器人·具身智能