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需刷新才能执行]
上一篇: 怎么定位php语法异常,有专门的编译器吗
下一篇: php使用反射插入对象示例分享