2010-04-01 109 views
37

我有一個下一個格式爲"ORDER20100322194007"的字符串,其中20100322是日期,而194007是時間。如何解析字符串並獲取包含的DateTime對象?以自定義格式解析包含日期和時間的字符串

+1

這是一個很好的問題。也許你應該改變標題爲「.NET中的自定義日期格式的日期時間解析」 – 2010-04-01 13:32:25

+0

好吧,我同意你的意見。 – akrisanov 2010-04-01 14:07:05

回答

76

它會始終以ORDER開頭嗎?

string pattern = "'ORDER'yyyyMMddHHmmss"; 
DateTime dt; 
if (DateTime.TryParseExact(text, pattern, CultureInfo.InvariantCulture, 
          DateTimeStyles.None, 
          out dt)) 
{ 
    // dt is the parsed value 
} 
else 
{ 
    // Invalid string 
} 

如果字符串是無效的應該拋出一個異常,那麼使用DateTime.ParseExact代替DateTime.TryParseExact

如果它不總是以「訂單」,然後做任何你需要爲了得到剛剛開始日期和時間部分,並從上面的格式模式中刪除「'ORDER'」。

1

如果你沒有一個固定的字符串結構,那麼你可以使用正則表達式來分隔數字和字符,然後使用convert to datetime函數來分隔數字。

相關問題