Check if a string contains date or not
Given a string "15:30:20"
and "2011-09-02 15:30:20"
,
How can I dynamically check if a given string contains date or n开发者_StackOverflow中文版ot?
"15:30:20" -> Not Valid
"2011-09-02 15:30:20" => Valid
Use DateTime.TryParseExact Method.
string []format = new string []{"yyyy-MM-dd HH:mm:ss"};
string value = "2011-09-02 15:30:20";
DateTime datetime;
if (DateTime.TryParseExact(value, format, System.Globalization.CultureInfo.InvariantCulture,System.Globalization.DateTimeStyles.NoCurrentDateDefault , out datetime))
Console.WriteLine("Valid : " + datetime);
else
Console.WriteLine("Invalid");
You can use
bool b = DateTime.TryParseExact("15:30:20", "yyyy-MM-dd HH:mm:ss",CultureInfo.InvariantCulture,DateTimeStyles.AssumeLocal,out datetime);
To check if a string is parsable into DateTime.
Use this method to check if string is date or not:
private bool CheckDate(String date)
{
try
{
DateTime dt = DateTime.Parse(date);
return true;
}
catch
{
return false;
}
}
For dotnet core 2.0,
DateTime.TryParseExact("2017-09-02", "dd MMM yyyy", CultureInfo.InvariantCulture, DateTimeStyles.NoCurrentDateDefault, out DateTime dtDateTime)
精彩评论