一、Date对象
1、Date用于获取当前时间
var d = new Date(); console.log(d); // 向控制台输出内容 console.dir(d); // 查看对象的内容信息
2、getFullYear() 获取月份
var year = d.getFullYear(); //获取当前年份 console.log(year);
3、getMonth() 获取月份
var month = d.getMonth() + 1; //获取当前月份 console.log(month);
注:JavaScript规定,获取的月份,数值是 0-11 , 0表示1月份,11表示12月份,实际月份的数值,是获取结果 +1
4、getDay() 获取星期
var week = d.getDay(); //获取当前星期 console.log(week);
注:获取星期的结果是 0-6的数值,0表示星期日,其他的正常表示
5、getHours() 获取小时
var house = d.getHours(); //获取当前小时 console.log(house);
6、getMinutes() 获取分钟
var minute = d.getMinutes(); //获取当前分钟 console.log(minute);
7、getSeconds() 获取秒
var second = d.getSeconds(); //获取当前秒 console.log(second);
二、时间戳
1、简单的时间戳:实际项目中,往往用于计算时间,来衡量时间差
var d = new Date(); var times = d.getTime(); //获取当前时间 console.log(times);
2、复杂时间戳:主要用于倒计时
//定义结束时间的时间对象 var end = new Date('2020-4-1 0:0:0'); //获取开始时间对象 var start = new Date(); //计算开始时间与结束时间之间的总秒数,如果不/1000是毫秒 var times = parseInt((end.getTime() - start.getTime() )/ 1000 ); console.log(times) //利用总时间计算天数 var day = parseInt( times / (24*60*60)); console.log(day); //利用总时间ay求在总天数之后还有多少小时 var hour = parseInt( ( times % (24*60*60) ) / ( 60 * 60) ); console.log(hour); //将剩余的秒数,转化为分钟 var minute = parseInt( ( times % (60*60) ) / 60 ); console.log(minute); //求剩余的秒数 var second = times % 60 ; console.log(second); //输出时间 document.write( `距离结束时间,还有${day}天,${hour}小时,${minute}分钟,${second}秒,请您抓紧时间付款,或者找老公付款` );
三、定时器、取消定时器
1、定时器:setInterval(参数1 , 参数2)
例子1:
var interval1 = setInterval( function(){ document.write('张老师帅极了' + '<br>'); } , 1000); 例子2: var interval2 = setInterval( function(){ document.write('张老师不仅帅,还是非常帅' + '<br>'); } , 1000);
注:
setInterval(参数1 , 参数2)
A、参数1:要执行的程序,必须是一个函数的形式 function(){ 定义程序 }
B、参数2:执行程序的间隔时间,单位是毫秒
C、定时器第0秒不会执行,从打开的第二秒开始
2、终止定时器:clearInterval(需要清除的定时器参数或下标)
// 定义一个变量,存储执行次数 var int = 0; var interval3 = setInterval( function(){ document.write('张老师不仅帅,还是非常帅' + '<br>'); // 每次执行,变量自增 int++; // 当满足某个我们设定的条件时 if(int == 10){ // 清除定时器,终止程序的执行 clearInterval(interval3); } } , 1000); console.log(interval3);
注:
A、清除定时器尽量不要用下标,用实际变量名称
B、清除定时器,实际上就是关闭整个程序中的第几个定时器
四、延时器、取消延时器
1、延时器setTimeout
setInterval(function(){} , 1000); // 延时5秒钟之后,执行程序 var timeout1 = setTimeout( function(){ console.log('张老师还是很帅的'); } , 5000 ) console.log(timeout1);
2、取消延时器clearInterval
setInterval(function(){} , 1000); // 延时5秒钟之后,执行程序 var timeout1 = setTimeout( function(){ console.log('张老师还是很帅的'); } , 5000 ) console.log(timeout1); //取消延时器 clearInterval(timeout1);
五、延时器的特别说明:
1, 变量存储的也是序号,表示的是第几个延时器
2, JavaScript中,定时器和延时器,的计数是不做区分的,也就是第几个定时器,和第几个延时器,是一起计算的,不做区分
setInterval(function(){} , 1000); 1
setInterval(function(){} , 1000); 2
settimeout(function(){} , 1000); 3
setInterval(function(){} , 1000); 4
settimeout(function(){} , 1000); 5
3, clearInterval 和 clearTimout 是不做区分的
4、clearInterval 可以清除定时器,也可以清除延时器
5、clearTimout 可以清楚延时器,也可以清除定时器