C#字符串转换为DateTime

C#字符串转换为DateTime

问题描述:

我有字符串标记[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

有几个问题:

  • 你失踪预期的连字符 “ - ” 从内置字符串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