javascript格式化日期时间函数

所属分类: 网络编程 / JavaScript 阅读数: 1762
收藏 0 赞 0 分享
复制代码 代码如下:

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需再刷新一下页面才能执行]
更多精彩内容其他人还在看

jquery实现可拖拽弹出层特效

这篇文章主要介绍了jquery实现可拖拽弹出层特效,代码非常精简,效果非常棒,这里推荐给有需要的小伙伴
收藏 0 赞 0 分享

浅谈 javascript 事件处理

本文向大家简单介绍了javascript的事件处理机制,从事件源,事件操作到事件处理程序都做了简单介绍,并给出了部分示例,这里推荐给大家。
收藏 0 赞 0 分享

jQuery中:reset选择器用法实例

这篇文章主要介绍了jQuery中:reset选择器用法,实例分析了:reset选择器的功能、定义及匹配重置按钮的使用技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

原生javascript实现隔行换色

这篇文章主要介绍了原生javascript实现隔行换色,需要的朋友可以参考下
收藏 0 赞 0 分享

jQuery中:button选择器用法实例

这篇文章主要介绍了jQuery中:button选择器用法,实例分析了:button选择器的功能、定义及选取按钮的使用技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

jQuery中:file选择器用法实例

这篇文章主要介绍了jQuery中:file选择器用法,实例分析了:file选择器的功能、定义及选取类型为file的<input>元素的使用技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

jQuery中:enabled选择器用法实例

这篇文章主要介绍了jQuery中:enabled选择器用法,实例分析了:enabled选择器的功能、定义及选取所有可用元素的使用技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

AngularJS中取消对HTML片段转义的方法例子

这篇文章主要介绍了AngularJS中取消对HTML片段转义的方法例子,在一些需要显示HTML的地方,就要取消AngularJS的转义,本文就介绍了这种方法,需要的朋友可以参考下
收藏 0 赞 0 分享

jQuery中:disabled选择器用法实例

这篇文章主要介绍了jQuery中:disabled选择器用法,实例分析了:disabled选择器功能、定义及选取所有禁用的表单元素的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

jQuery中:checked选择器用法实例

这篇文章主要介绍了jQuery中:checked选择器用法,实例分析了:checked选择器的功能、定义及选取选中的复选框或单选按钮时的使用技巧,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多