﻿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);    
}

function DropList(){}
/**   
*移除指定的Select下拉框中的所有选项
*/
DropList.Clear=function(dplId){
    var dpList=document.getElementById(dplId);
    while(dpList.childNodes.length> 0) 
    { 
        dpList.removeChild(dpList.childNodes[0]); 
    }
}
DropList.Add=function(dplId,txt,val){
    var dpList=document.getElementById(dplId);
    dpList.options.add(new Option(txt,val));
}
DropList.SelectedValue=function(dplId){
    var dpList=document.getElementById(dplId);
    return dpList.options[dpList.selectedIndex].value;
}

/*******
* 兼容IE/FF
********/
function getElementsByName(name) {
    var returns=document.getElementsByName(name);
    if(returns.length > 0) return returns;
    returns = new Array();
    var e = document.getElementsByTagName('td');
    for(i = 0; i < e.length; i++) {
        if(e[i].getAttribute("name") == name) {
                  returns[returns.length] = e[i];
        }   
    }
    return returns;
}
/***********
* 兼容FF/IE追加事件
************/