1. 程式人生 > >(十 二)JavaScript Date 物件、定時器

(十 二)JavaScript Date 物件、定時器

系統提供的Date物件

使用建構函式建立一個Date物件

var date = new Date(); 
console.log(date);  //Tue Nov 06 2018 11:51:05 GMT+0800 (中國標準時間)

Date例項有一個獨特的地方。其他物件求值的時候,都是預設呼叫.valueOf()方法,但是Date例項求值的時候,預設呼叫的是.toString()方法。這導致對Date例項求值,返回的是一個字串,代表該例項對應的時間。
如果不加引數,例項代表的就是當前時間。

注意,當前時間是瀏覽器從本機作業系統獲取的時間,所以不一定準確。

Date物件的一些方法

getTime():返回例項距離1970年1月1日00:00:00的毫秒數,等同於valueOf方法。(時間戳)


getDay():返回星期幾,星期日為0,星期一為1,以此類推。
getYear():返回距離1900的年數。
getFullYear():返回四位的年份。
getMonth():返回月份(0表示1月,11表示12月)。
getDate():返回例項物件對應每個月的幾號(從1開始)。
getHours():返回小時(0-23)。
getMinutes():返回分鐘(0-59)。
getSeconds():返回秒(0-59)。
getMilliseconds():返回毫秒(0-999)。
getTimezoneOffset():返回當前時間與 UTC 的時區差異,以分鐘表示,返回結果考慮到了夏令時因素。

var
date = new Date(); console.log( date.getTime() ); //1541498918964 console.log( date.getDay() ); //2 console.log( date.getYear() ); //118 console.log( date.getFullYear() ); //2018 console.log( date.getMonth() ); //10 console.log( date.getDate
() ); //6 console.log( date.getHours() ); //18 console.log( date.getMinutes() ); //8 console.log( date.getSeconds() ); //38 console.log( date.getMilliseconds() ); //964 console.log( date.getTimezoneOffset() ); //-480

定時器

setInterval() 和clearInterval()

setInterval() 是window上的方法。
setInterval() 會不停按照指定的時間間隔重複執行指定的程式碼,直到呼叫clearInterval()來取消或視窗被關閉。
setInterval() 方法返回一個數值ID,該ID是一個唯一識別符號,可以將這個ID傳遞給 clearInterval() 來取消執行。

var i = 100;

var timeId = setInterval(function(){
	console.log(i++);
	if (i>110) { clearInterval(timeId); }
},500);

console.log(timeId);  // 1
setTimeout() 和 clearTimeout()

setTimeout() 是window上的方法。
setTimeout() 方法用於在指定的毫秒數後執行指定的程式碼。(只執行一次)
setTimeout() 方法返回一個數值ID,可以將這個ID傳遞給 clearTimeout() 來取消執行。