C#将字符串转换为日期时间

C#将字符串转换为日期时间,c#,datetime,converter,C#,Datetime,Converter,我有字符串标记[5]=Aug和字符串标记[6]=1(参见图) 我想转换成DateTime 我尝试: DateTime DateCreated = DateTime.ParseExact(tokens[5] + tokens[6], "MM-dd", CultureInfo.InvariantCulture); 有几个问题: 您在构建字符串tokens[5]+tokens[6]中缺少所需的连字符“-” 您的MM将使用两位数的月份,对于三个字母的速记月份,使用MMM 最后,您的dd需要两位数的一

我有字符串标记[5]=Aug和字符串标记[6]=1(参见图)

我想转换成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条目:


缩写字符串是MMM,MM是两位数的月数。谢谢,但我有一个错误:该字符串未被识别为有效的DateTime@user609511当格式与您提供的字符串不同时(因此解析失败),会发生这种情况,您使用的格式是什么,您提供的字符串是什么?鉴于您的“Aug1”来自上面,我建议的格式将工作,所以您可能输入不同的字符串或使用不同的格式。