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>
以上就是如何用js根据开始时间和结束时间获取每个时间点的详细内容。
