JS之Date對(duì)象和獲取系統(tǒng)當(dāng)前時(shí)間詳解
一、Date對(duì)象
每天一對(duì)象,今天來(lái)看看Date對(duì)象,相對(duì)于時(shí)間大家一定很熟悉,應(yīng)為以前在網(wǎng)站中很多地方都會(huì)遇到這樣的時(shí)間特效。溫故而知新,今天我們來(lái)回憶一下Date對(duì)象。
我們首先來(lái)看看他的定義:
dateObj = new Date()
dateObj = new Date(dateVal)
dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]])
必選項(xiàng)。如果是數(shù)字值,dateVal 表示指定日期與 1970 年 1 月 1 日午夜間全球標(biāo)準(zhǔn)時(shí)間的毫秒數(shù)。如果是字符串,則 dateVal 按照 parse 方法中的規(guī)則進(jìn)行解析。dateVal 參數(shù)也可以是從某些 ActiveX® 對(duì)象返回的 VT_DATE 值。 必選項(xiàng)。完整的年份,比如,1976(而不是 76)。 必選項(xiàng)。表示的月份,是從 0 到 11 之間的整數(shù)( 1 月至 12 月)。 必選項(xiàng)。表示日期,是從 1 到 31 之間的整數(shù)。 可選項(xiàng)。表示毫秒,是從 0 到 999 的整數(shù)。
Date 對(duì)象保存以毫秒為單位表示特定時(shí)間段。如果某個(gè)參數(shù)的值大于其范圍或?yàn)樨?fù)數(shù),則存儲(chǔ)的其他值將做相應(yīng)的調(diào)整。例如,如果指定 150 秒,JScript 將該數(shù)字重新定義為 2 分 30 秒。
如果數(shù)字為 NaN,則該對(duì)象不代表特定的時(shí)間段。如果未向 Date 對(duì)象傳遞參數(shù),它將被初始化為當(dāng)前時(shí)間 (UTC)。在能夠使用該對(duì)象前必須為其賦值。
Date 對(duì)象能夠表示的日期范圍約等于 1970 年 1 月 1 日前后各 285,616 年。
Date 對(duì)象具有兩個(gè)不創(chuàng)建 Date 對(duì)象就可以調(diào)用的靜態(tài)方法。它們是 parse 和 UTC。
Date對(duì)象的方法很多,也很簡(jiǎn)單在這里就不列出了,OK,See Next!
特別注意:
**************************************************************
var myDate = new Date(2006,11,23);
alert("year="+myDate.getYear()+"******month="+myDate.getMonth()+"********day="+myDate.getDate());
運(yùn)行之后的結(jié)果是 year=2006 ******month=11********day=23
**************************************************************
這樣顯示都很正常,當(dāng)new Date的時(shí)候傳進(jìn)去的月份為12的時(shí)候,就出現(xiàn)的問(wèn)題。
**************************************************************
var myDate = new Date(2006,12,23);
alert("year="+myDate.getYear()+"******month="+myDate.getMonth()+"********day="+myDate.getDate());
運(yùn)行之后的結(jié)果是 year=2007 ******month=0********day=23
**************************************************************
很納悶的一件事情。最后查資料得知month這個(gè)參數(shù)的值是0~11的,不能傳入12的這個(gè)值。解決辦法就是在傳值的時(shí)候把month-1,然后在外面取的時(shí)候再+1。不知誰(shuí)還有更好的辦法。
如:
var date=new Date(2010,0-1,15); //這里0代表一月份,減1就變成12月份了
alert(date.getYear()+","+(date.getMonth()+1)+","+date.getDate());
var date=new Date(2010,12-1,15);
alert(date.getYear()+","+(date.getMonth()+1)+","+date.getDate());
參數(shù)是字符串的格式如:2010/1/6
示例:
var txtDepartureDate='2010-1-6'
alert(txtDepartureDate.replace(/-/g,'/')); //使用正則將'-'全部替換成/
var date = new Date(txtDepartureDate.replace(/-/g,'/'));
相關(guān)文章
KnockoutJS數(shù)組比較算法實(shí)例詳解
這篇文章主要介紹了KnockoutJS數(shù)組比較算法實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
JavaScript實(shí)現(xiàn)單英文金山打字通
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)單英文金山打字通,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
javascript算法解數(shù)獨(dú)實(shí)現(xiàn)方案示例
這篇文章主要為大家介紹了javascript算法解數(shù)獨(dú)實(shí)現(xiàn)方案示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
JS判斷網(wǎng)頁(yè)廣告是否被瀏覽器攔截過(guò)濾的代碼
這篇文章主要介紹了JS判斷網(wǎng)頁(yè)廣告是否被瀏覽器攔截過(guò)濾的代碼,需要的朋友可以參考下2015-04-04
js中console在一行內(nèi)打印字符串和對(duì)象的方法
這篇文章主要介紹了js中console在一行內(nèi)打印字符串和對(duì)象的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
利用JavaScript實(shí)現(xiàn)防抖節(jié)流函數(shù)的示例代碼
在開發(fā)中我們經(jīng)常會(huì)遇到一些高頻操作,比如:鼠標(biāo)移動(dòng),滑動(dòng)窗口,鍵盤輸入等等,節(jié)流和防抖就是對(duì)此類事件進(jìn)行優(yōu)化,降低觸發(fā)的頻率,以達(dá)到提高性能的目的。本文就教大家如何實(shí)現(xiàn)一個(gè)讓面試官拍大腿的防抖節(jié)流函數(shù),需要的可以參考一下2022-08-08

