前言:
js雖然提供了各種獲取時(shí)間Date對(duì)象的不同屬性方法,如:getDate 方法 | getDay 方法 | getFullYear 方法 | getHours 方法 ... ... 等等,但是卻沒有像java那樣提供一個(gè)方法來供用戶來根據(jù)自身提供的模板(pattern),來格式化指定時(shí)間對(duì)象,所以自己就封裝了一個(gè)小方法,只供大家閑來調(diào)侃-.-,有好的建議還望慷慨指薦哦。
用到知識(shí)點(diǎn):
• arguments:該對(duì)象代表正在執(zhí)行的函數(shù)和調(diào)用它的函數(shù)的參數(shù)。不可顯式創(chuàng)建,雖然有l(wèi)ength屬性,且能像數(shù)組一樣以“[]”語法方式取值,但它并不是一個(gè)數(shù)組。
• typeof object :運(yùn)算符,返回一個(gè)用來表示表達(dá)式的數(shù)據(jù)類型的字符串。六種可能: "number," "string," "boolean," "object," "function," 和 "undefined."。
• object.constructor:表示創(chuàng)建對(duì)象的函數(shù)。object必須是對(duì)象或函數(shù)的名稱。基礎(chǔ)數(shù)據(jù)沒有該屬性。
• exec 方法:用正則表達(dá)式模式在字符串中運(yùn)行查找,并返回包含該查找結(jié)果的一個(gè)數(shù)組。沒有找到匹配,則它返回 null。數(shù)組中同類型匹配元素不會(huì)重復(fù)出現(xiàn)。
• str.split(Rex|str):以一個(gè)正則對(duì)象或子字符串,將一個(gè)字符串分割為子字符串,然后將結(jié)果作為字符串?dāng)?shù)組返回。
• throw Error('msg'):拋出一個(gè)帶有Message信息的Error。throw 后面可跟任何表達(dá)式。
• 還有一些for..in用法,三目運(yùn)算符,substr這些就不講了,比較簡(jiǎn)單。
代碼片段:
上幾個(gè)演示效果,供大家參考:
console.log(DateFormat(new Date(),'yyyy年第q季度M月dd日HH時(shí)m分s秒S毫秒'));
console.log(DateFormat(new Date(),'yyyy年yy第q季度M月dd日HH時(shí)m分s秒S毫秒'));
console.log(DateFormat(new Date(),'yyyy年第q季度M月dd日Hh時(shí)m分s秒S毫秒'));
console.log(DateFormat("我不是時(shí)間對(duì)象",'yyyy年第q季度M月dd日Hh時(shí)m分s秒S毫秒'));
console.log(DateFormat(new Date(),'yyyy年第q季度MMM月dd日HH時(shí)m分s秒S毫秒'));
其他效果就不一一列舉了,感興趣的可以把代碼拷貝下來直接測(cè)試就行了,有任何BUG或者有待優(yōu)化的地方請(qǐng)慷慨指正哦。
通過以上內(nèi)容給大家詳解了JavaScript時(shí)間格式化相關(guān)知識(shí),希望大家喜歡。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com