C# 从字符串获取日期时间

C# 从字符串获取日期时间,c#,.net,regex,C#,.net,Regex,我怎样才能得到这个字符串中的这两个日期 2011-08-01 00:00至2011-08-31 23:59(当地时间)2011-07-15 20:43 我想要这个日期2011-08-01 00:00和2011-08-31 23:59 var dateRegex = @"\d{4}-\d{2}-\d{2} \d{2}:\d{2}"; var regex = new Regex(@"FROM (" + dateRegex + @") TO (" + dateRegex + @") \

我怎样才能得到这个字符串中的这两个日期

2011-08-01 00:00至2011-08-31 23:59(当地时间)2011-07-15 20:43

我想要这个日期2011-08-01 00:00和2011-08-31 23:59

    var dateRegex = @"\d{4}-\d{2}-\d{2} \d{2}:\d{2}";
    var regex = new Regex(@"FROM (" + dateRegex + @") TO (" + dateRegex + @") \(Local Time\) .*$");
    var text = @"FROM 2011-08-01 00:00 TO 2011-08-31 23:59 (Local Time) 2011-07-15 20:43";
    var match = regex.Match(text);
    if (match.Success)
    {
        Console.WriteLine("1: " + match.Groups[1].Value.ToString());
        Console.WriteLine("2: " + match.Groups[2].Value.ToString());
    }
这应该做到:

    var dateRegex = @"\d{4}-\d{2}-\d{2} \d{2}:\d{2}";
    var regex = new Regex(@"FROM (" + dateRegex + @") TO (" + dateRegex + @") \(Local Time\) .*$");
    var text = @"FROM 2011-08-01 00:00 TO 2011-08-31 23:59 (Local Time) 2011-07-15 20:43";
    var match = regex.Match(text);
    if (match.Success)
    {
        Console.WriteLine("1: " + match.Groups[1].Value.ToString());
        Console.WriteLine("2: " + match.Groups[2].Value.ToString());
    }

这应该能满足您的需要(我假设字符串总是采用这种格式,因此没有错误处理):

string text=“从2011-08-01 00:00到2011-08-31 23:59(当地时间)2011-07-15 20:43”;

Regex r=new Regex(@)(?这应该能满足您的需要(我假设字符串总是采用这种格式,因此没有错误处理):

string text=“从2011-08-01 00:00到2011-08-31 23:59(当地时间)2011-07-15 20:43”;
正则表达式r=新正则表达式(@“(?)?