C#字符串转换为DateTime
我有字符串标记[5] =八月和字符串标记[6] = 1(参照图像)C#字符串转换为DateTime
我想要转换成日期时间。
我尝试:
DateTime DateCreated = DateTime.ParseExact(tokens[5] + tokens[6], "MM-dd", CultureInfo.InvariantCulture);
有几个问题:
- 你失踪预期的连字符 “ - ” 从内置字符串
tokens[5] + tokens[6]
。 - 您的
MM
预计会有两位数的月份,三个字母的速记月份使用MMM
。 - 最后,你的
dd
预计两位数的日子(所以在你的情况下,01而不是1)。使用d
需要一个或两位数的天数。
有了这一切说和做,你实际上并不需要的连字符:
var dateCreated = DateTime.ParseExact(tokens[5] + tokens[6], "MMMd", CultureInfo.InvariantCulture);
请参阅此MSDN条目更多的选择:
谢谢你,但我得到的错误:该字符串未被识别为有效的日期时间 – user609511 2012-08-14 09:22:23
@ user609511当格式不同于你给它的字符串(所以解析失败)时会发生什么,你使用的格式是什么你给它的字符串是什么?从上面给出您的“Aug1”,我建议的格式将起作用,因此您可能会输入不同的字符串或使用不同的格式。 – 2012-08-14 09:22:57
Sory,你的例子工作正常....我的错....感谢你 – user609511 2012-08-14 09:25:55
对于初学者,缺少'-'? – 2012-08-14 09:15:43
MMM是简写字符串,MM是两位数的月份数字。 – 2012-08-14 09:16:03