从某个字符串

时间:2015-09-25 15:29:22

标签: c# string datetime

我有以下字符串:

"23/09/2015 08:00\r\n            עד\r\n24/09/2015 08:00"

如您所见,我们有两个日期。一个在\r\n之前,另一个在第二个\r\n之后。

如何在C#中从此字符串中检索DateTime个对象?我知道的唯一方法是使用Substring,但会在第一个\r\n之后检索文本。

3 个答案:

答案 0 :(得分:3)

这可能会有所帮助

 var stringValue = "23/09/2015 08:00\r\n            עד\r\n24/09/2015 08:00";

 var splitted = stringValue.Split(new string[]{"\r\n"},StringSplitOptions.RemoveEmptyEntries);

 var firstStringDate = splitted[0];
 var secondStringDate = splitted[2];

获得DateTime

var firstDate = DateTime.ParseExact(splitted[0], "dd/MM/yyyy HH:mm", DateTimeFormatInfo.InvariantInfo);
var secondDate = DateTime.ParseExact(splitted[2], "dd/MM/yyyy HH:mm", DateTimeFormatInfo.InvariantInfo);

答案 1 :(得分:1)

SplitTryParse string s:

static IEnumerable<DateTime> extractDates(string inputString)
{
    foreach (var item in inputString.Split(new string[] {"\r\n"}, StringSplitOptions.RemoveEmptyEntries))
    {
        DateTime dt;
        if(DateTime.TryParseExact(item, 
                                   "dd/MM/yyyy HH:mm",
                                   System.Globalization.CultureInfo.InvariantCulture,
                                   System.Globalization.DateTimeStyles.None, 
                                   out dt))
            yield return dt;
    }
}

答案 2 :(得分:0)

我会这样使用myString.Split("\r\n")

string[] dates = myString.Split("\r\n");

foreach (var dateString in dates)
{
    DateTime dateTime;
    if (DateTime.TryParse(dateString, out dateTime))
    {
        //Use dateTime here
    }
}