如何验证字符串的格式为"dd.MM.yyyy HH:mm:ss.mmm"
?
例如:
12.01.2011 13:26:10.000 13.05.2010 22:30:20.000
应该被接受,其他人应该被拒绝。我希望能够做到这样的事情:
string c = "12.01.2011 13:26:10.000";
if (string.CompareFormat(c))
{
// do something
}
else
{
// do something else
}
答案 0 :(得分:3)
尝试使用DateTime.TryParse ...
解析它答案 1 :(得分:2)
您可以使用TryParseExact
:
string format = "dd.MM.yyyy HH:mm:ss.fff";
string c = "12.01.2011 13:26:10.000";
CultureInfo enUS = new CultureInfo("en-US");
DateTime result;
if (DateTime.TryParseExact(c, format, enUS, DateTimeStyles.None, out result))
{
Console.WriteLine("Right Format");
}
else
{
Console.WriteLine("Wrong Format");
}
答案 2 :(得分:1)
将TryParseExact
与您所需的日期格式一起使用。与普通Parse
/ TryParse
相比,这将确保只匹配此特定格式。
string c = "12.01.2011 13:26:10.000";
DateTime result;
if (DateTime.TryParseExact(c, "dd.MM.yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture, DateTimeStyles.None, out result)) {
// do something
} else {
// do something else
}
答案 3 :(得分:0)
try
{
string c = "12.01.2011 13:26:10.000";
DateTime dt = Convert.ToDateTime(c.ToString());
}
catch (Exception ex)
{
//Rejected
}
当它不在datetime格式时会发生异常
或者可以使用TryParse
string c = "12.01.2011 13:26:10.000";
DateTime dt;
if(!DateTime.TryParse(c,out dt))
{
//rejected
}