日期要精确到分钟的  如2010-8-26 11:22

解决方案 »

  1.   

    最好还是不要用正则,直接用DateTime.TryParse不是很好么?
      

  2.   


    DateTime.TryParse怎么使用啊?受教啦
      

  3.   

    (?n)\d{2}(\d{2})?-(1[012]|[1-9])-([12][0-9]|[1-9]|3[01]) (1[012]|[1-9]):([1-5][0-9]|[1-9])
      

  4.   

    DateTime dt;
    if (DateTime.TryParse("2010-8-26 11:22", out dt))
    {
        Console.WriteLine(dt.ToString("yyyy-M-d HH:mm"));
    }
      

  5.   


     private void ConvertToDateTime(String str)
            {
                string dateFormat = "yyyy-MM-dd HH:mm";
                DateTime dt = DateTime.Now;
                string datetime;
                if (DateTime.TryParse(str, out dt))
                {
                    datetime = dt.ToString(dateFormat); ;
                }
                else
                {
                    datetime = null;
                }
            }
      

  6.   

    三种方式都贴给你string s = "2010-8-26 11:22";
    DateTime dt;
    //任意格式可以自己定义,也可以用系统自动识别
    //自动识别格式
    if (DateTime.TryParse(s, out dt))
    {
        //Console.WriteLine(dt.ToString("yyyy-M-d HH:mm"));
        Console.WriteLine("有效");
    }
    //自定义格式
    if (DateTime.TryParseExact(s,"yyyy-M-d HH:mm",null, System.Globalization.DateTimeStyles.None, out dt))
    {
        Console.WriteLine("有效");
    }
    //正则验证,无法验证闰年闰月大小月
    if(Regex.IsMatch(s,@"(?n)\d{2}(\d{2})?-(1[012]|[1-9])-([12][0-9]|[1-9]|3[01]) (1[012]|[1-9]):([1-5][0-9]|[1-9])"))
    {
        Console.WriteLine("有效");
    }