laydate下载(http://www.layui.com/laydate/)
下载后的文件theme(里面的font文件夹可以不要),laydate.js放入同一个项目文件
html部分:
<input type="text" id="ele"/>
<script src="static/list/laydate.js"></script>
js部分
laydate.render({
elem: '#ele'
,range: true,
type:'month',//月范围选择
format:'yyyy/MM/dd',
theme: '#3a4651',
done: function(dates){ //选择好日期的回调
var startT = dates.split(' - ')[0];
var endT = dates.split(' - ')[1];
getAll(startT,endT);
}
});
确定选择的回调函数done操作.
http://www.layui.com/doc/modules/laydate.html有详细介绍
在done回调中获取到开始时间,结束时间。这个时候在实际项目中我遇到需要将日期范围内的日期都一一输出的操作。getAll(startT,endT)实现了这个方法。
Date.prototype.format=function (){
var s='';
s+=this.getFullYear()+'-';// 获取年份。
s+=(this.getMonth()+1)+"-"; // 获取月份。
s+= this.getDate(); // 获取日。
return(s); // 返回日期。
};
function getAll(begin,end){
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]);
console.log(de.setUTCFullYear(ae[0], ae[1]-1, ae[2]));
var unixDb=db.getTime();
var unixDe=de.getTime();
for(var k=unixDb+24*60*60*1000;k<unixDe;){
//console.log((new Date(parseInt(k))).format());
k=k+24*60*60*1000;
}
}
通过 setUTCFullYear() 方法把日期设置为 November 3, 1992:
getTime()指定的日期和时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数。
var d = new Date();
var dGet = d.getTime();
d.setUTCFullYear(1992,10,3);
var dStr = d.setUTCFullYear(1992,10,3);
var dStrs = new Date(parseInt(dStr)).getFullYear()
console.log(d);//Tue Nov 03 1992 23:54:03 GMT+0800 (中国标准时间)
console.log(d.setUTCFullYear(1992,10,3));//720806043038
console.log(dStr);//720806043038
console.log(dGet);//720806043038
console.log(dStrs);//1992