2011-05-30 32 views
0

我想提取字符串中的日期是這樣的:如何從這樣的字符串中獲取日期?

"HTTP test [17] 20110515150601.log" 

,我想知道,如果這個日期是否有效

感謝。

+0

假設日期是'20110515'所以什麼是格式yyyymmdd或yyyyddmm來確定有效日期? – abi1964 2011-05-30 13:06:14

+0

希望它是yyyymmdd,或者還有更多的月份比我記得的還要多...只給出一個字符串,但很難說出模式是什麼。假設日期時間戳總會在擴展名之前出現,是否安全?擴展名是否總是記錄?總是3個字符? – jswolf19 2011-05-30 13:10:21

回答

3

這是一個小的示例應用程序,顯示如何解析日期。它很容易定製解析的時間以及如果你知道的格式

static void Main(string[] args) 
     { 
      string source = "HTTP test [17] 20110515150601.log"; 
      Regex regex = new Regex(@"(\d{8})\d*\.log"); 
      var match = regex.Match(source); 
      if (match.Success) 
      { 
       DateTime date; 
       if (DateTime.TryParseExact(match.Groups[1].Value, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out date)) 
       { 
        Console.WriteLine("Parsed date to {0}", date); 
       } 
       else 
       { 
        Console.WriteLine("Could not parse date"); 
       } 
      } 
      else 
      { 
       Console.WriteLine("The input is not a match."); 
      } 
      Console.ReadLine(); 
     }