时间格式要是这种:”2009-06-02 10:11:21“,我写的是js,直接在文本框中选择的,可以修改,但要控制格式。怎样判断时间格式呢?????

解决方案 »

  1.   


    // This code example demonstrates the String.Format() method.
    // Formatting for this example uses the "en-US" culture.using System;
    class Sample 
    {
        enum Color {Yellow = 1, Blue, Green};
        static DateTime thisDate = DateTime.Now;    public static void Main() 
        {
    // Store the output of the String.Format method in a string.
        string s = "";    Console.Clear();// Format a negative integer or floating-point number in various ways.
        Console.WriteLine("Standard Numeric Format Specifiers");
        s = String.Format(
            "(C) Currency: . . . . . . . . {0:C}\n" +
            "(D) Decimal:. . . . . . . . . {0:D}\n" +
            "(E) Scientific: . . . . . . . {1:E}\n" +
            "(F) Fixed point:. . . . . . . {1:F}\n" +
            "(G) General:. . . . . . . . . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(N) Number: . . . . . . . . . {0:N}\n" +
            "(P) Percent:. . . . . . . . . {1:P}\n" +
            "(R) Round-trip: . . . . . . . {1:R}\n" +
            "(X) Hexadecimal:. . . . . . . {0:X}\n",
            -123, -123.45f); 
        Console.WriteLine(s);// Format the current date in various ways.
        Console.WriteLine("Standard DateTime Format Specifiers");
        s = String.Format(
            "(d) Short date: . . . . . . . {0:d}\n" +
            "(D) Long date:. . . . . . . . {0:D}\n" +
            "(t) Short time: . . . . . . . {0:t}\n" +
            "(T) Long time:. . . . . . . . {0:T}\n" +
            "(f) Full date/short time: . . {0:f}\n" +
            "(F) Full date/long time:. . . {0:F}\n" +
            "(g) General date/short time:. {0:g}\n" +
            "(G) General date/long time: . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(M) Month:. . . . . . . . . . {0:M}\n" +
            "(R) RFC1123:. . . . . . . . . {0:R}\n" +
            "(s) Sortable: . . . . . . . . {0:s}\n" +
            "(u) Universal sortable: . . . {0:u} (invariant)\n" +
            "(U) Universal sortable: . . . {0:U}\n" +
            "(Y) Year: . . . . . . . . . . {0:Y}\n", 
            thisDate);
        Console.WriteLine(s);// Format a Color enumeration value in various ways.
        Console.WriteLine("Standard Enumeration Format Specifiers");
        s = String.Format(
            "(G) General:. . . . . . . . . {0:G}\n" +
            "    (default):. . . . . . . . {0} (default = 'G')\n" +
            "(F) Flags:. . . . . . . . . . {0:F} (flags or integer)\n" +
            "(D) Decimal number: . . . . . {0:D}\n" +
            "(X) Hexadecimal:. . . . . . . {0:X}\n", 
            Color.Green);       
        Console.WriteLine(s);
        }
    }
    /*
    This code example produces the following results:Standard Numeric Format Specifiers
    (C) Currency: . . . . . . . . ($123.00)
    (D) Decimal:. . . . . . . . . -123
    (E) Scientific: . . . . . . . -1.234500E+002
    (F) Fixed point:. . . . . . . -123.45
    (G) General:. . . . . . . . . -123
        (default):. . . . . . . . -123 (default = 'G')
    (N) Number: . . . . . . . . . -123.00
    (P) Percent:. . . . . . . . . -12,345.00 %
    (R) Round-trip: . . . . . . . -123.45
    (X) Hexadecimal:. . . . . . . FFFFFF85Standard DateTime Format Specifiers
    (d) Short date: . . . . . . . 6/26/2004
    (D) Long date:. . . . . . . . Saturday, June 26, 2004
    (t) Short time: . . . . . . . 8:11 PM
    (T) Long time:. . . . . . . . 8:11:04 PM
    (f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM
    (F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM
    (g) General date/short time:. 6/26/2004 8:11 PM
    (G) General date/long time: . 6/26/2004 8:11:04 PM
        (default):. . . . . . . . 6/26/2004 8:11:04 PM (default = 'G')
    (M) Month:. . . . . . . . . . June 26
    (R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT
    (s) Sortable: . . . . . . . . 2004-06-26T20:11:04
    (u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)
    (U) Universal sortable: . . . Sunday, June 27, 2004 3:11:04 AM
    (Y) Year: . . . . . . . . . . June, 2004Standard Enumeration Format Specifiers
    (G) General:. . . . . . . . . Green
        (default):. . . . . . . . Green (default = 'G')
    (F) Flags:. . . . . . . . . . Green (flags or integer)
    (D) Decimal number: . . . . . 3
    (X) Hexadecimal:. . . . . . . 00000003*/
      

  2.   

    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);   
    }  
      

  3.   

    function CheckDate(str)
    {
        str = trim(str);
        var reg1 = /^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
        var r1 = str.match(reg1);
        var reg2 = /^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
        var r2 = str.match(reg2);
        var reg3 = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
        var r3 = str.match(reg3);
        var reg4 = /^(\d{4})\/(\d{1,2})\/(\d{1,2})$/;
        var r4 = str.match(reg4);    if(r1==null && r2==null && r3==null && r4==null) return false;
        str = str.replace(/\//g, "-");
        var r, d;
        if(r1!=null || r2!=null)
            r = str.match(reg1);
        else
            r = str.match(reg3);
        r[2] = r[2] - 1;
        for(var i=1; i<r.length; i++)
        {
            r[i] = parseInt(r[i]);
        }
        if(r.length == 4)
            d = new Date(r[1], r[2], r[3]);
        else
        {
            d = new Date(r[1], r[2], r[3], r[4], r[5], r[6]);
            if(d.getHours() != r[4]) return false;
            if(d.getMinutes() != r[5]) return false;
            if(d.getSeconds() != r[6]) return false;
        }
        if(d.getFullYear() != r[1]) return false;
        if(d.getMonth() != r[2]) return false;
        if(d.getDate() != r[3]) return false;
        return true;
    }
      

  4.   


    /*
    // Regex Example in JavaScript
    // Rainsome Studio
    // 2009-06-01 in Shanghai
    */
    <!--//
    function ChkDateTimeFormat(strDT)
    {
    var regex = /^(\d{4})\-((?:1[0-2])|(?:0(?!0)\d))\-((?:3[01])|(?:[12]\d)|(?:0(?!0)\d)) (?:(?:2[0-3])|(?:[01]\d))(\:[0-5]\d){2}$/i; 
    if(!regex.test(strDT))return false;
    var year=RegExp.$1-0,month=RegExp.$2-0,day=RegExp.$3-0;
    var blResult=true;
    switch(month){
    case 1:;case 3:;case 5:;case 7:;case 8:;case 10:;case 12:
    if(day>31) blResult=false;
    break;
    case 4:;case 6:;case 9:;case 11:
    if(day>30) blResult=false;
    break;
    case 2:
    if(year%400!=0&&year%4!=0){
    if(day>28) blResult=false;
    }else{
    if(day>29) blResult=false;
    }
    break;
    }
    return blResult;
    }
      

  5.   

    Select CONVERT(varchar(100), GETDATE(), 20)
      

  6.   

    function trim(str)
    {
        if (!str) return "";
        return str.replace(/(^\s*)|(\s*$)/g, "");
    }function CheckDate(str)
    {
        str = trim(str);
        var reg1 = /^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
        var r1 = str.match(reg1);
        var reg2 = /^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
        var r2 = str.match(reg2);
        var reg3 = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
        var r3 = str.match(reg3);
        var reg4 = /^(\d{4})\/(\d{1,2})\/(\d{1,2})$/;
        var r4 = str.match(reg4);    if(r1==null && r2==null && r3==null && r4==null) return false;
        str = str.replace(/\//g, "-");
        var r, d;
        if(r1!=null || r2!=null)
            r = str.match(reg1);
        else
            r = str.match(reg3);
        r[2] = r[2] - 1;
        for(var i=1; i<r.length; i++)
        {
            r[i] = parseInt(r[i]);
        }
        if(r.length == 4)
            d = new Date(r[1], r[2], r[3]);
        else
        {
            d = new Date(r[1], r[2], r[3], r[4], r[5], r[6]);
            if(d.getHours() != r[4]) return false;
            if(d.getMinutes() != r[5]) return false;
            if(d.getSeconds() != r[6]) return false;
        }
        if(d.getFullYear() != r[1]) return false;
        if(d.getMonth() != r[2]) return false;
        if(d.getDate() != r[3]) return false;
        return true;
    }
      

  7.   

    我感觉楼主还是google一下吧,上边很多答案的