2011-09-02 82 views
9

給定一個字符串"15:30:20""2011-09-02 15:30:20", 如何動態檢查給定的字符串是否包含日期?檢查一個字符串是否包含日期

"15:30:20" -> Not Valid 

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

可能重複http://stackoverflow.com/questions/37732/what-is-the-regex-pattern-for -datetime-2008-09-01-123545 – Zenwalker

回答

18

使用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"); 
12

您可以使用

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

要檢查一個字符串是否是可解析成日期時間。

+0

如果使用上述解決方案,我的2個樣本將始終顯示爲true。我想檢查字符串是否不包含日期,然後顯示假 –

+0

已編輯,現在嘗試 – Dominik

+0

這是假設日期總是以這種格式。我想知道這是OP的意圖 – RichK

0

使用此方法來檢查,如果字符串是日期或不是:

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