2011-05-30 93 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(); 
     } 
相关问题