视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
如何用js根据开始时间和结束时间获取每个时间点
2020-11-27 20:13:30 责编:小采
文档

本篇博客实现效果(内附demo地址):

test.html文件代码

<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <script src="./js/jquery-2.1.1.js"></script></head><body><p class="getDay"><a href="#">获取2017-08-28到2017-09-08该段时间内的所有以天为单位的日期</a></p><p class="getWeek"><a href="#">获取2017-06-05到2017-09-04该段时间内的所有以周一为单位的日期</a></p><p class="month"><a href="#">获取2016-06-01到2017-09-01该段时间内的所有以月为单位的日期</a></p><p class="year"><a href="#">获取2003-01-01到2017-01-01该段时间内的所有以年为单位的日期</a></p></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>

下载本文
显示全文
专题