jq 日期区间处理
<html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="./js/jquery-2.1.1.js"></script> </head> <body> <div class="getDay"><a href="#">获取2017-08-28到2017-09-08该段时间内的所有以天为单位的日期</a></div> <div class="getWeek"><a href="#">获取2017-06-05到2017-09-04该段时间内的所有以周一为单位的日期</a></div> <div class="month"><a href="#">获取2016-06-01到2017-09-01该段时间内的所有以月为单位的日期</a></div> <div class="year"><a href="#">获取2003-01-01到2017-01-01该段时间内的所有以年为单位的日期</a></div> </body> <script> $(document).ready(function () { $(".getDay").click(function () { alert(getDayAll("2017-08-28","2017-09-08")); }) $(".getWeek").click(function () { alert(getWeekAll("2017-06-05","2017-09-04")); }) $(".month").click(function () { alert(getMonthAll("2016-06-01","2017-09-01")); }) $(".year").click(function () { alert(getYearAll("2003-01-0","2017-01-01")); }) }) Date.prototype.format=function (){ var s=''; s+=this.getFullYear()+'-'; // 获取年份。 s+=(this.getMonth()+1)+"-"; // 获取月份。 s+= this.getDate(); // 获取日。 return(s); // 返回日期。 }; //按日查询 function getDayAll(begin,end){ var dateAllArr = new Array(); var ab = begin.split("-"); var ae = end.split("-"); var db = new Date(); db.setUTCFullYear(ab[0], ab[1]-1, ab[2]); var de = new Date(); de.setUTCFullYear(ae[0], ae[1]-1, ae[2]); var unixDb=db.getTime(); var unixDe=de.getTime(); for(var k=unixDb;k<=unixDe;){ dateAllArr.push((new Date(parseInt(k))).format().toString()); k=k+24*60*60*1000; } return dateAllArr; } //按周查询 function getWeekAll(begin,end){ var dateAllArr = new Array(); var ab = begin.split("-"); var ae = end.split("-"); var db = new Date(); db.setUTCFullYear(ab[0], ab[1]-1, ab[2]); var de = new Date(); de.setUTCFullYear(ae[0], ae[1]-1, ae[2]); var unixDb=db.getTime(); var unixDe=de.getTime(); for(var k=unixDb;k<=unixDe;){ dateAllArr.push((new Date(parseInt(k))).format().toString()); k=k+7*24*60*60*1000; } return dateAllArr; } function getMonthAll(begin,end) { var d1 = begin; var d2 = end; var dateArry = new Array(); var s1 = d1.split("-"); var s2 = d2.split("-"); var mCount = 0; if (parseInt(s1[0]) < parseInt(s2[0])) { mCount = (parseInt(s2[0]) - parseInt(s1[0])) * 12 + parseInt(s2[1]) - parseInt(s1[1])+1; } else { mCount = parseInt(s2[1]) - parseInt(s1[1])+1; } if (mCount > 0) { var startM = parseInt(s1[1]); var startY = parseInt(s1[0]); for (var i = 0; i < mCount; i++) { if (startM < 12) { dateArry[i] = startY + "-" + (startM>9 ? startM : "0" + startM); startM += 1; } else { dateArry[i] = startY + "-" + (startM > 9 ? startM : "0" + startM); startM = 1; startY += 1; } } } return dateArry; } function getYearAll(begin,end) { var d1 = begin; var d2 = end; var dateArry = new Array(); var s1 = d1.split("-"); var s2 = d2.split("-"); var mYearCount = parseInt(s2[0]) - parseInt(s1[0])+1; var startY = parseInt(s1[0]); for (var i = 0; i < mYearCount;i++) { dateArry[i] = startY; startY += 1; } return dateArry; } </script> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2018-04-28 winform中文本框,软键盘跟随
2017-04-28 js计算两个时间相差天数
2017-04-28 asp.net管线
2017-04-28 享元模式
2017-04-28 外观模式
2017-04-28 组合模式
2016-04-28 对特殊字符编码js与c#中的处理方法