Date
创建日期对象 var date = new Date();
date.getFullYear( ) 获取年份
date.getyear( ) 获取年份需+1900;
date.getMonth( ) 获取月份 国外从0到11,国内需+1;
date.getDate( ) 获取日期
date.getDay( ) 获取星期 * 0--6
date.getHours( ) 获取小时
date.getMinutes( ) 获取分钟;
date.getSeconds( ) 获取秒
date.get,MilleSeconds( ) 毫秒0-1000
date.toLocaleDateString( ) 获取本地时间
date.toLocaleString( )
设置时间
date.setFullYear(y,m,d); 设置元素必填 年
date.setMonth(m,d); 月
date.setDate(d); 日期
date.setHours(h,m,s,ms) 小时
date.setMinutes(m,s,ms) 分
date.setSeconds(s,ms) 秒
date.setmilliSeconds(ms) 毫秒
获取时间毫秒
date,getTime( ); 获取时间
Date.parse(date);
Date.now( ) 当前系统的毫秒数;
自定义时间
var date = new Date();//当前系统时间
//这是一个字符串
var birthday = "1999/4/6";
//需要将这个字符串转换成日期对象
var date = new Date(birthday);//自定义时间对象
console.log(dateToString(date));
自定义时间对象日期格式
var date = new Date("1999/4/6 12:12:12");//ok
var date = new Date("1999-4-6 12:12:12");//ok
var date = new Date("1999.4.6 12:12:12");//ok
时间毫秒数 1970/1/1 00:00:00
var date = new Date(); //获取当前时间时间毫秒数
console.log(Date.now());
//console.log(date.getTime());//1562308917082 误差小
//console.log(Date.parse(date));//1562308958000
es5新增 console.log(Date.now()))
利用时间毫秒数转换为时间对象
var date = new Date(1863786666788);//构造函数中如果传递的是一个数字,这个数字会解析为时间毫秒数
console.log(dateToString(date));
时间差设置
var birthday = "1997/3/18 12:13:20";
var bDate = new Date(birthday);
var nowTime = new Date();
//计算活了多长时间(多大了);
var time = nowTime.getTime() - bDate.getTime();
console.log(time/1000/60/60/24/365);
定时器
setInterval( 要执行的任务,时间间隔 );
用法 ;
如果你只想重复执行可以使用 setInterval() 方法。
setInterbal("console.log(1)",1000);
setInterval("函数名( )",1000);
setInterval(函数名,1000); //常用方式,此时函数可重复调用
setInterval(function( ){ },1000);//常用方式,函数私有.
停止定时器:clearInterval(定时器名称)
var t=setInterval ( );
t:定时器名称
clearInterval(t):停止t定时器
定时器以步特点:
js是单线程的程序,
定时器是一个异步的程序,
setTimeout:
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
clearTimeout
使用 clearTimeout() 方法来阻止函数的执行。
案例一 本地化时间封装
function(){ var str=""; var week = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; var y=date.getFullYear(); var m=date.getMonth(); var d=date.getDate(); var h=date.gethours(); var f=date.getMinutes(); var s-date.getSeconds(); var w=date.getDay(); str+=y+"年"+db(m)+"月"+db(d)+"日"; str+=h+":"+f+":"+s+" "; str += week[w]; return str; } funtion db(num){ return num<10?"0"+num:num; }
案例二:时间差函数的封装
获取两个时间的时间差的秒数 function difTime(startTime,endTime){ return (endTime.getTime()-startTime.getTime())/1000; } difTime(startTime,endTime)/3600/24:得到天数
案例三 定时器倒计时
var tVal = Number(showTime.innerHTML); var timer = setInterval(function(){ showTime.innerHTML = --tVal; if(tVal == 0){ clearInterval(timer); setTimeout(function(){ alert("开始发射"); },10); } },1000); }
案例四:活动时过期时间