日期:2014-05-18  浏览次数:20868 次

判断日期格式是否正确
我用下面的程序判断,我提示用户输入格式为2008-8-8可是用户输入2008-8,下面的也判断是正确,大家有没有好办法
try
  {
  Convert.ToDateTime(txt1.Text.Trim());//或者DateTime.Parse(txt1.Text.Trim());
   
  }
 catch  
  {
  }

------解决方案--------------------
DateTime.TryParse(txt1.Text.Trim());
------解决方案--------------------
DateTime tt;
bool b=DateTime.TryParseExact("2008-01", "yyyy-MM", null, System.Globalization.DateTimeStyles.None, out tt);

------解决方案--------------------
DateTime tt;
bool b=DateTime.TryParseExact("2008-01", "yyyy-MM", null, System.Globalization.DateTimeStyles.None, out tt);

------解决方案--------------------
探讨
DateTime.TryParse(txt1.Text.Trim());

------解决方案--------------------
探讨
DateTime.TryParse(txt1.Text.Trim());

------解决方案--------------------
DateTime.TryParse()
------解决方案--------------------
DateTime.TryParseExact()

C# code

dateString = "5/01/2009 09:00";
if (DateTime.TryParseExact(dateString, "M/dd/yyyy hh:mm", enUS, 
                           DateTimeStyles.None, out dateValue))
   Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                     dateValue.Kind);
else
   Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

------解决方案--------------------
..UP 上面都有了.
------解决方案--------------------
探讨
DateTime tt;
bool b=DateTime.TryParseExact("2008-01", "yyyy-MM", null, System.Globalization.DateTimeStyles.None, out tt);

------解决方案--------------------
小修改一下...
C# code
if (!System.Text.RegularExpressions.Regex.IsMatch("2008-8", @"^[\d]{4}-[\d]{1,2}-[\d]{1,2}$"))
    throw new ArgumentException();