欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

javascript格式化日期时间函数

程序员文章站 2024-01-29 16:00:40
复制代码 代码如下:function dateutil(){}/***功能:格式化时间*示例:dateutil.format("yyyy/mm/dd","thu&...
复制代码 代码如下:

function dateutil(){}/***功能:格式化时间*示例: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}时m{2}分s{2}秒$/;    var patrn_now_33=/^y{4}年m{1,2}月d{1,2}日\sh{1,2}时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}时m{2}分s{2}秒$/;    var patrn_time_22=/^h{1,2}时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("时间参数非法\n正确的时间示例:\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+"时"+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+"时"+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+"时"+arr_d.mm+"分"+arr_d.ss+"秒";    }    else if(patrn_time_22.test(fmtcode)){        arr_d=splitdate(d);        result=arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";    }    else{        msgbox("没有匹配的时间格式!");        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需刷新才能执行]