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

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

相关推荐
dapeng28704 小时前
分布式系统容错设计
开发语言·c++·算法
qq_417695054 小时前
代码热修复技术
开发语言·c++·算法
badhope9 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
码云数智-园园10 小时前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
还是大剑师兰特10 小时前
Vue3 中的 defineExpose 完全指南
前端·javascript·vue.js
C++ 老炮儿的技术栈10 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl10 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
泯泷10 小时前
阶段一:从 0 看懂 JSVMP 架构,先在脑子里搭出一台最小 JSVM
前端·javascript·架构
Liu6288810 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
IT猿手11 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队