2016-09-02 24 views
0

如何解析字符串例如。 「01/21 - 02/20」表示爲月/日到月/日。我將如何解析這個對象表示,以便我可以查詢許多日期範圍對象來查找日期範圍。將日期解析爲日期時間範圍對象的mm/dd

實施例的查詢是,01/30,這將返回「01/21 - 02/20」的時間範圍對象,因爲它落在特定範圍內。

+0

你是什麼意思'返回日期範圍對象? –

+0

你可以把它變成一個整數。 01/21 - > 121,02/20 - > 220,01/30 - > 130,然後檢查一下。 – Kelvin

回答

1

如果您有輸入字符串「01/21 - 02/20」,那麼您可以通過正則表達式解析它,然後將匹配的正則表達式解析爲DateTime

。注意,.NET不含有那種DateTime range object - 你應該自己編寫的。

你的結果對象應該看起來像這個檢查

public class DateTimeRangeObject 
{ 
    public DateTime Date1 {get; set;} 
    public DateTime Date2 {get; set;} 

    public static DateTimeRangeObject Parse(string inputStr) 
    { 
     var matches = Regex.Matches(inputStr, "\\d{2}\\/\\d{2}"); 

     return new DateTimeRangeObject 
     { 
      Date1 = DateTime.ParseExact(matches[0].Value, "MM/dd", null), 
      Date2 = DateTime.ParseExact(matches[1].Value, "MM/dd", null) 
     }; 
    } 
} 

添加方法是放在其他兩個值之間DateTime值不是太難。

+0

不完全確定,但正則表達式100%的工作?我沒有得到任何比賽。 /你知道一種產生我自己的正則表達式的方法嗎? – noobatrilla

+0

如果你有格式的字符串 - 它會工作。示例https://dotnetfiddle.net/RVAmEl –

+0

以熟悉c#regex,請閱讀此https://msdn.microsoft.com/en-us/library/az24scfc(v=vs.110).aspx –