javascript格式化日期時(shí)間函數(shù)
更新時(shí)間:2008年06月12日 12:50:57 作者:
下面的js函數(shù)是格式化日期的,函數(shù)是一行寫的,所以大家可以直接負(fù)責(zé)應(yīng)用就可以了
復(fù)制代碼 代碼如下:
function DateUtil(){}/***功能:格式化時(shí)間*示例:DateUtil.Format("yyyy/MM/dd","Thu Nov 9 20:30:37 UTC+0800 2006 ");*返回:2006/11/09*/DateUtil.Format=function(fmtCode,date){ var result,d,arr_d; var patrn_now_1=/^y{4}-M{2}-d{2}\sh{2}:m{2}:s{2}$/; var patrn_now_11=/^y{4}-M{1,2}-d{1,2}\sh{1,2}:m{1,2}:s{1,2}$/; var patrn_now_2=/^y{4}\/M{2}\/d{2}\sh{2}:m{2}:s{2}$/; var patrn_now_22=/^y{4}\/M{1,2}\/d{1,2}\sh{1,2}:m{1,2}:s{1,2}$/; var patrn_now_3=/^y{4}年M{2}月d{2}日\sh{2}時(shí)m{2}分s{2}秒$/; var patrn_now_33=/^y{4}年M{1,2}月d{1,2}日\sh{1,2}時(shí)m{1,2}分s{1,2}秒$/; var patrn_date_1=/^y{4}-M{2}-d{2}$/; var patrn_date_11=/^y{4}-M{1,2}-d{1,2}$/; var patrn_date_2=/^y{4}\/M{2}\/d{2}$/; var patrn_date_22=/^y{4}\/M{1,2}\/d{1,2}$/; var patrn_date_3=/^y{4}年M{2}月d{2}日$/; var patrn_date_33=/^y{4}年M{1,2}月d{1,2}日$/; var patrn_time_1=/^h{2}:m{2}:s{2}$/; var patrn_time_11=/^h{1,2}:m{1,2}:s{1,2}$/; var patrn_time_2=/^h{2}時(shí)m{2}分s{2}秒$/; var patrn_time_22=/^h{1,2}時(shí)m{1,2}分s{1,2}秒$/; if(!fmtCode){fmtCode="yyyy/MM/dd hh:mm:ss";} if(date){ d=new Date(date); if(isNaN(d)){ msgBox("時(shí)間參數(shù)非法\n正確的時(shí)間示例:\nThu Nov 9 20:30:37 UTC+0800 2006\n或\n2006/ 10/17"); return;} }else{ d=new Date(); } if(patrn_now_1.test(fmtCode)) { arr_d=splitDate(d,true); result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss; } else if(patrn_now_11.test(fmtCode)) { arr_d=splitDate(d); result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss; } else if(patrn_now_2.test(fmtCode)) { arr_d=splitDate(d,true); result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss; } else if(patrn_now_22.test(fmtCode)) { arr_d=splitDate(d); result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss; } else if(patrn_now_3.test(fmtCode)) { arr_d=splitDate(d,true); result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日"+" "+arr_d.hh+"時(shí)"+arr_d.mm+"分"+arr_d.ss+"秒"; } else if(patrn_now_33.test(fmtCode)) { arr_d=splitDate(d); result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日"+" "+arr_d.hh+"時(shí)"+arr_d.mm+"分"+arr_d.ss+"秒"; } else if(patrn_date_1.test(fmtCode)) { arr_d=splitDate(d,true); result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd; } else if(patrn_date_11.test(fmtCode)) { arr_d=splitDate(d); result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd; } else if(patrn_date_2.test(fmtCode)) { arr_d=splitDate(d,true); result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd; } else if(patrn_date_22.test(fmtCode)) { arr_d=splitDate(d); result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd; } else if(patrn_date_3.test(fmtCode)) { arr_d=splitDate(d,true); result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日"; } else if(patrn_date_33.test(fmtCode)) { arr_d=splitDate(d); result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日"; } else if(patrn_time_1.test(fmtCode)){ arr_d=splitDate(d,true); result=arr_d.hh+":"+arr_d.mm+":"+arr_d.ss; } else if(patrn_time_11.test(fmtCode)){ arr_d=splitDate(d); result=arr_d.hh+":"+arr_d.mm+":"+arr_d.ss; } else if(patrn_time_2.test(fmtCode)){ arr_d=splitDate(d,true); result=arr_d.hh+"時(shí)"+arr_d.mm+"分"+arr_d.ss+"秒"; } else if(patrn_time_22.test(fmtCode)){ arr_d=splitDate(d); result=arr_d.hh+"時(shí)"+arr_d.mm+"分"+arr_d.ss+"秒"; } else{ msgBox("沒有匹配的時(shí)間格式!"); return; } return result;};function splitDate(d,isZero){ var yyyy,MM,dd,hh,mm,ss; if(isZero){ yyyy=d.getYear(); MM=(d.getMonth()+1)<10?"0"+(d.getMonth()+1):d.getMonth()+1; dd=d.getDate()<10?"0"+d.getDate():d.getDate(); hh=d.getHours()<10?"0"+d.getHours():d.getHours(); mm=d.getMinutes()<10?"0"+d.getMinutes():d.getMinutes(); ss=d.getSeconds()<10?"0"+d.getSeconds():d.getSeconds(); }else{ yyyy=d.getYear(); MM=d.getMonth()+1; dd=d.getDate(); hh=d.getHours(); mm=d.getMinutes(); ss=d.getSeconds(); } return {"yyyy":yyyy,"MM":MM,"dd":dd,"hh":hh,"mm":mm,"ss":ss}; }function msgBox(msg){ window.alert(msg);}
例子:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
相關(guān)文章
javascript日期轉(zhuǎn)換 時(shí)間戳轉(zhuǎn)日期格式
javascript日期轉(zhuǎn)換 時(shí)間戳轉(zhuǎn)日期格式實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-11-11JS getMonth()日期函數(shù)的值域是0-11
好久沒用JS寫代碼了,結(jié)果在計(jì)算日期時(shí),出現(xiàn)了一個(gè)問題,困擾了我半天。最后終于搞清了問題的根源。2010-02-02IE與Firefox下javascript getyear年份的兼容性寫法
IE與Firefox下javascript getyear年份導(dǎo)致日期不統(tǒng)一的解決方法2007-12-12一個(gè)簡單的JavaScript 日期計(jì)算算法
這個(gè)一個(gè)簡單的JavaScript日期計(jì)算算法代碼2009-09-09實(shí)現(xiàn)javascript的延期執(zhí)行或者重復(fù)執(zhí)行的兩個(gè)函數(shù)
實(shí)現(xiàn)javascript的延期執(zhí)行或者重復(fù)執(zhí)行的兩個(gè)函數(shù)...2007-06-06js 日期字符串截取分割成單個(gè)具體的日期(2009-12-30 13:28:29)
js 日期字符串截取分割,這里利用的indexOf查找字符串的方法,效率什么的都不是很高,大家可以用數(shù)組的方式,將空格,分號,連接符號統(tǒng)一替換成一個(gè)樣的字符,分割。2009-12-12