2012-08-14 77 views
0

我有字符串標記[5] =八月和字符串標記[6] = 1(參照圖像tokenC#字符串轉換爲DateTime

我想要轉換成日期時間。

我嘗試:

DateTime DateCreated = DateTime.ParseExact(tokens[5] + tokens[6], "MM-dd", CultureInfo.InvariantCulture); 
+1

對於初學者,缺少'-'? – 2012-08-14 09:15:43

+1

MMM是簡寫字符串,MM是兩位數的月份數字。 – 2012-08-14 09:16:03

回答

9

有幾個問題:

  • 你失蹤預期的連字符 「 - 」 從內置字符串tokens[5] + tokens[6]
  • 您的MM預計會有兩位數的月份,三個字母的速記月份使用MMM
  • 最後,你的dd預計兩位數的日子(所以在你的情況下,01而不是1)。使用d需要一個或兩位數的天數。

有了這一切說和做,你實際上並不需要連字符:

var dateCreated = DateTime.ParseExact(tokens[5] + tokens[6], "MMMd", CultureInfo.InvariantCulture); 

請參閱此MSDN條目更多的選擇:

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

+0

謝謝你,但我得到的錯誤:該字符串未被識別爲有效的日期時間 – user609511 2012-08-14 09:22:23

+0

@ user609511當格式不同於你給它的字符串(所以解析失敗)時會發生什麼,你使用的格式是什麼你給它的字符串是什麼?從上面給出您的「Aug1」,我建議的格式將起作用,因此您可能會輸入不同的字符串或使用不同的格式。 – 2012-08-14 09:22:57

+0

Sory,你的例子工作正常....我的錯....感謝你 – user609511 2012-08-14 09:25:55