c#DateTime.ParseExact错误

时间:2016-05-12 18:12:31

标签: c# datetime-parsing

我有一个字符串未被识别为有效的DateTime错误。

关注here.中的一个示例,其中有一个示例:

dateString = "15/06/2008 08:30"; 
  format = "g"; 
  provider = new CultureInfo("fr-FR"); 
  try { 
     result = DateTime.ParseExact(dateString, format, provider); 
     Console.WriteLine("{0} converts to {1}.", dateString, result.ToString()); 
  }    
  catch (FormatException) { 
     Console.WriteLine("{0} is not in the correct format.", dateString); 
  }  

这是我的代码:

string convertToString = string.Join("", dateTimeId);

DateTime parsedDateTime = DateTime.ParseExact(convertToString, "g", CultureInfo.InvariantCulture);

我有一个字符串数组转换为字符串因为我正在读一个日期时间值为“3/16/2002 9:20”的csv行。

我也试过“MM / dd / yyyy HH:mm”的格式,但仍然得到同样的错误。

感谢任何提示或帮助。

1 个答案:

答案 0 :(得分:1)

请尝试使用此格式字符串

"M/dd/yyyy H:mm"

如果您为该月指定了两个M&,并且为该小时指定了两个H,那么它将为两者指定前导零。

或者只使用DateTime.Parse应该有效。

Console.WriteLine(DateTime.Parse("3/16/2002 9:20", CultureInfo.InvariantCulture));

我看得越多,我就越认为" g"应该有用。只有在月份和小时都有前导零的情况下才会起作用,即使它使用它来将DateTime格式化为string时也不会将前导零置入InvariantCulture