JS日历循环,指定开始结束日期,自动向后计算

日历循环,asp的直接 for day = cDate(“2008-1-1”) to cDate(“2019-12-31”):Response.write day:next,即可循环输出指定时间段的日期。改用JS实现,没有内置的方法去实现。抽空写了个简单的JS代码,来实现js的日历循环,代码如下:

//JS日历循环
//原文地址:http://www.miaoqiyuan.cn/p/promise
var date = {
	start : new Date(2008, 0, 1),	//开始日期
	end : new Date(2019, 11, 31)	//结束日期
}
date.next = function(){
	if( !!this.current ){
		this.current = new Date(this.current.getTime() + 86400000);	//增加一天
	}else{
		this.current = this.start;
	}
	if( this.current > this.end ){
		return false;
	}else{
		var _date = {
			year : this.current.getFullYear(),
			month : this.current.getMonth() + 1,
			date : this.current.getDate()
		}
		/*
		if( _date.month < 10 ){
			_date.month = '0' + _date.month;
		}
		if( _date.date < 10 ){
			_date.date = '0' + _date.date;
		}
		*/
		_date.value = _date.year + "-" + _date.month + "-" + _date.date;
		return _date;
	}
};

module.exports = date;  //导出,如果需要

假如上边的代码为 date.js,使用方法如下:

var date = require("./date.js");

date.start = new Date(2016,0,1);  //2016-1-1
date.end = new Date(2016,3,1);  //2016-4-1
while(_date = date.next()){
	console.log(_date.value);
}

执行结果:

2016-1-1
2016-1-2
2016-1-3
2016-1-4
2016-1-5
2016-1-6
2016-1-7
2016-1-8
2016-1-9
2016-1-10
2016-1-11
2016-1-12
2016-1-13
2016-1-14
2016-1-15
2016-1-16
2016-1-17
2016-1-18
2016-1-19
2016-1-20
2016-1-21
2016-1-22
2016-1-23
2016-1-24
2016-1-25
2016-1-26
2016-1-27
2016-1-28
2016-1-29
2016-1-30
2016-1-31
2016-2-1
2016-2-2
2016-2-3
2016-2-4
2016-2-5
2016-2-6
2016-2-7
2016-2-8
2016-2-9
2016-2-10
2016-2-11
2016-2-12
2016-2-13
2016-2-14
2016-2-15
2016-2-16
2016-2-17
2016-2-18
2016-2-19
2016-2-20
2016-2-21
2016-2-22
2016-2-23
2016-2-24
2016-2-25
2016-2-26
2016-2-27
2016-2-28
2016-2-29
2016-3-1
2016-3-2
2016-3-3
2016-3-4
2016-3-5
2016-3-6
2016-3-7
2016-3-8
2016-3-9
2016-3-10
2016-3-11
2016-3-12
2016-3-13
2016-3-14
2016-3-15
2016-3-16
2016-3-17
2016-3-18
2016-3-19
2016-3-20
2016-3-21
2016-3-22
2016-3-23
2016-3-24
2016-3-25
2016-3-26
2016-3-27
2016-3-28
2016-3-29
2016-3-30
2016-3-31
2016-4-1

JS日历循环,指定开始结束日期,自动向后计算》上有1条评论

  1. Pingback引用通告: 使用NodeJS采集老黄历网(使用http按顺序采集) | 启源的部落格

发表评论

电子邮件地址不会被公开。 必填项已用*标注