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

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

相关推荐
superman超哥6 分钟前
Rust String与&str的内部实现差异:所有权与借用的典型案例
开发语言·后端·rust·rust string·string与str·内部实现·所有权与借用
xiaowu0806 分钟前
C#调用 C++ DLL 加载地址方式选择
开发语言·c++·c#
非凡ghost23 分钟前
MPC-QT视频播放器(基于Qt框架播放器)
开发语言·windows·qt·音视频·软件需求
转基因24 分钟前
C++的IO流
开发语言·c++
一碗绿豆汤27 分钟前
Java语言概述和开发环境-1
java·开发语言
愈努力俞幸运30 分钟前
rust安装
开发语言·后端·rust
Van_Moonlight41 分钟前
RN for OpenHarmony 实战 TodoList 项目:任务完成进度条
javascript·开源·harmonyos
Van_Moonlight1 小时前
RN for OpenHarmony 实战 TodoList 项目:深色浅色主题切换
javascript·开源·harmonyos
小贵子的博客1 小时前
Ant Design Vue <a-table>
前端·javascript·vue.js·anti-design-vue
天天进步20151 小时前
【Nanobrowser源码分析4】交互篇: 从指令到动作:模拟点击、滚动与输入的底层实现
开发语言·javascript·ecmascript