Javascript中Date類型和Math類型詳解
Date類型
ECMASCript中的Date類型是在早期中Java中的java.util.Date類基礎(chǔ)上構(gòu)建的。為此Date類型使用自UTC(國(guó)際協(xié)調(diào)時(shí)間)1970年1月1日午夜(0時(shí))開(kāi)始經(jīng)過(guò)的毫秒數(shù)來(lái)保存日期。
創(chuàng)建日期對(duì)象
1.創(chuàng)建當(dāng)前日期。不需要傳入?yún)?shù)
2.創(chuàng)建指定日期。需要傳入?yún)?shù),必須傳入表示該日期的毫秒數(shù)(即從1970年1月1日午夜起至該日期止經(jīng)過(guò)的毫秒數(shù))。為了簡(jiǎn)化這一計(jì)算過(guò)程,ECMAScript提供了兩個(gè)方法:Date.parse()和Date.UTC()。
var now = new Date()//新創(chuàng)建的對(duì)象自動(dòng)獲得當(dāng)前日期和時(shí)間 var someDate = new Date('May 25, 2004') var allFives = new Date(2015, 4, 4, 17, 55, 55)
Date.parse()和Date.UTC()
Date.parse()
接收一個(gè)表示日期的字符串參數(shù),然后嘗試根據(jù)這個(gè)字符串返回相應(yīng)日期的毫秒數(shù)
var someDate = new Date(Date.parse('May 25,2015'))
Note:ECMA-262沒(méi)有定義Date.parse()應(yīng)該支持那種日期格式,因此這個(gè)方法因?qū)崿F(xiàn)而異,而且通常因地區(qū)而異。而實(shí)際上將表示日期的字符串傳遞給Date構(gòu)造函數(shù),也會(huì)在后臺(tái)調(diào)用Date.parse()。
Date.UTC()
參數(shù)分別是:年份,基于0的月份,日,小時(shí),分鐘,秒,以 及毫秒數(shù)。只有前兩個(gè)參數(shù)是必須的。如果省略其他參數(shù),則統(tǒng)統(tǒng)假設(shè)為0.
// GMT時(shí)間2016年1月1日午夜0時(shí) var M = new Date(Date.UTC(2016, 0)); // GMT時(shí)間2015年5月5日下午5:55:55 var allFives = new Date(Date.UTC(2015, 4, 4, 17, 55, 55));
Note:Date構(gòu)造函數(shù)也會(huì)模仿Date.UTC(),但有一點(diǎn)明顯不同:日期和時(shí)間都基于本地時(shí)區(qū)而非GMT創(chuàng)建。不過(guò)Date構(gòu)造函數(shù)仍與Date.UTCf()接收的參數(shù)相同。
Date.now()
返回調(diào)用這個(gè)方法時(shí)的日期和時(shí)間的毫秒數(shù)。
// 取得開(kāi)始時(shí)間 var start = Date.now(); // 調(diào)用函數(shù) doSomthing(); // 取得停止時(shí)間 var stop = Date.now(); result = stop - start;
兼容性:IE9+,F(xiàn)irfox3+,Safari3+,Opera10.5,Chrome。在不支持它的瀏覽器中,使用+操作符把Date對(duì)象轉(zhuǎn)換成字符串,也可以達(dá)到同樣目的
日期格式化方法
將日期格式化為字符串的方法
- toDateString()
- toTimeString()
- toLocalDateString()
- toLocalTimeString()
- toUTCString()
推薦:toUTCString()
Note:UTC日期指的是沒(méi)有時(shí)區(qū)偏差的情況下(將日期轉(zhuǎn)換為GMT時(shí)間)的日期值。
Math類型
min( )和max( )
var value = [1,2,3,4,5,6,7,8]; var max = Math.max.apply(Math, values);
舍入方法
Math.ceil( ):向上舍入 Math.floor( ):向下舍入 Math.round( ):四舍五入 random( ) Math.random( )方法返回介于0和1之間的一個(gè)隨機(jī)數(shù),不包括0和1 var num = Math.floor(Math.random()*10, + 1)//返回1-10之間的數(shù)
相關(guān)文章
深入理解JavaScript系列(36):設(shè)計(jì)模式之中介者模式詳解
這篇文章主要介紹了深入理解JavaScript系列(36):設(shè)計(jì)模式之中介者模式詳解,中介者模式(Mediator)是指用一個(gè)中介對(duì)象來(lái)封裝一系列的對(duì)象交互,需要的朋友可以參考下2015-03-03淺談Web頁(yè)面向后臺(tái)提交數(shù)據(jù)的方式和選擇
下面小編就為大家?guī)?lái)一篇淺談Web頁(yè)面向后臺(tái)提交數(shù)據(jù)的方式和選擇。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09JavaScript中反正弦函數(shù)Math.asin()的使用簡(jiǎn)介
這篇文章主要介紹了JavaScript中反正弦函數(shù)Math.asin()的使用,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06JavaScript DOM 學(xué)習(xí)第二章 編輯文本
在這一章我會(huì)給出一個(gè)在CMS里非常有用的更新頁(yè)面的代碼。在任一段落點(diǎn)擊鼠標(biāo)你就可以修改了。完成以后點(diǎn)擊按鈕,修改的文本就顯示了。2010-02-02