C#里有没有判断字符串是否满足时间格式的函数啊

解决方案 »

  1.   

    查日期 正则表达式google 一下
      

  2.   

    这里是判断YYYY-MM-DD这种格式的,基本上把闰年和2月等的情况都考虑进去了,不过我已经忘了在哪里找到的。^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$下面的是加了时间验证的^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$
      

  3.   

    1。使用正则表达式,
    2。使用类型转换是否抛出异常,
    Convert.ToDateTime ()
    DateTime.Parse()
      

  4.   

    一种
    try
    {
       DateTime.Parse(str)
    }
    catch
    {
       //返回错误信息
    }
    第二种:
    使用证则表达式
    string strEXP="^([123456789][0123456789][0123456789][0123456789]\\-([0][123456789]|[123456789]|[1][012])\\-([0][123456789]|[123456789]|[12][0123456789]|3[01]))$";
    System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(strEXP);  
    if(reg1.IsMatch(strVal))
    {
       //正确
    }
    else
    {
       //错误
    }
      

  5.   

    public static bool IsDate(string sValue){
    try{
    Regex re=new Regex(@"^((\d{4}))\/(|(0[1-9])|(1[0-2]))\/((0[1-9])|(1\d)|(2\d)|(3[0-1]))$");
    Regex re2=new Regex(@"^((\d{4}))\-(|(0[1-9])|(1[0-2]))\-((0[1-9])|(1\d)|(2\d)|(3[0-1]))$");
    return re.IsMatch(sValue)||re2.IsMatch(sValue);
    }
    catch(Exception ex)
    {
    System.Console.WriteLine(ex.Message.ToString());
    return false;
    }
    }
      

  6.   

    还是尽量用正则表达式吧,捕获错误会影响系统效率的.
    string p=@"^\d{4}-\d{1,2}-\d{1,2}$";
    System.Text.RegularExpressions.Regex reg  
    = new System.Text.RegularExpressions.Regex(p);   
    if(reg.IsMatch(str)) return true;
    可以判断:yyyy-MM-dd格式
    p=@"^\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}$";
    可以判断:yyyy-MM-dd HH:mm:ss格式
      

  7.   

    用正则表达式吧!如果是winform的话还是直接用时间控件好了