检查字符串是否包含日期

时间:2011-09-02 07:16:24

标签: c# .net datetime

给定字符串"15:30:20""2011-09-02 15:30:20", 如何动态检查给定字符串是否包含日期?

"15:30:20" -> Not Valid

"2011-09-02 15:30:20" => Valid

4 个答案:

答案 0 :(得分:21)

使用DateTime.TryParseExact方法。

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");

答案 1 :(得分:12)

您可以使用

bool b = DateTime.TryParseExact("15:30:20", "yyyy-MM-dd HH:mm:ss",CultureInfo.InvariantCulture,DateTimeStyles.AssumeLocal,out datetime);

检查字符串是否可解析为DateTime。

答案 2 :(得分:1)

对于dotnet core 2.0,

DateTime.TryParseExact("2017-09-02", "dd MMM yyyy", CultureInfo.InvariantCulture, DateTimeStyles.NoCurrentDateDefault, out DateTime dtDateTime)

答案 3 :(得分:0)

使用此方法检查字符串是否为日期:

    private bool CheckDate(String date)
    {
        try
        {
            DateTime dt = DateTime.Parse(date);
            return true;
        }
        catch
        {
            return false;
        }
    }