前端随心记---------Javascript系列(第六节.Date)

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);
        }

案例四:活动时过期时间

集思广益,仅供学习,侵权即删!!
原文地址:https://www.cnblogs.com/hudunyu/p/11683940.html