<script>
function getDate(datestr){
var temp = datestr.split("-");
var date = new Date(temp[0],temp[1],temp[2]);
return date;
}
var start = "2012-3-25";
var end = "2012-4-3";
var startTime = getDate(start);
var endTime = getDate(end);
while((endTime.getTime()-startTime.getTime())>=0){
var year = startTime.getFullYear();
var month = startTime.getMonth().toString().length==1?"0"+startTime.getMonth().toString():startTime.getMonth();
var day = startTime.getDate().toString().length==1?"0"+startTime.getDate():startTime.getDate();
alert(year+"-"+month+"-"+day);
startTime.setDate(startTime.getDate()+1);
}
</script>
=================================================================================================
Date.prototype.format = function() {
var s = '';
var mouth = (this.getMonth() + 1)>=10?(this.getMonth() + 1):('0'+(this.getMonth() + 1));
var day = this.getDate()>=10?this.getDate():('0'+this.getDate());
s += this.getFullYear() + '-'; // 获取年份。
s += mouth + "-"; // 获取月份。
s += day; // 获取日。
return (s); // 返回日期。
};
function getAll(begin, end) {
var arr = [];
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() - 24 * 60 * 60 * 1000;
var unixDe = de.getTime() - 24 * 60 * 60 * 1000;
for (var k = unixDb; k <= unixDe;) {
//console.log((new Date(parseInt(k))).format());
k = k + 24 * 60 * 60 * 1000;
arr.push((new Date(parseInt(k))).format());
}
return arr;
}
console.log(getAll('2018-07-05','2018-08-05'));
本文介绍了一种使用JavaScript生成指定日期范围内的所有日期的方法。通过两个日期参数,算法能够逐日生成并输出该区间内的所有日期,适用于日历应用、数据分析等场景。
5805

被折叠的 条评论
为什么被折叠?



