我不明白为什么会抛出“字符串未被识别为有效的DateTime”
string[] formats = {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt",
"MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss",
"M/d/yyyy hh:mm tt", "M/d/yyyy hh tt",
"M/d/yyyy h:mm", "M/d/yyyy h:mm", "MM/dd/yyyy hh:mm",
"MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm",
"MM/d/yyyy HH:mm:ss.ffffff" };
var delimit = line.Split(',');
try
{
id = delimit[0];
DateTime.TryParseExact(delimit[1].Trim(),formats,new CultureInfo("en-US"),DateTimeStyles.None, out openDate);
delimit[5] = delimit[5].Replace("\"","");
closedDate = DateTime.ParseExact(delimit[5].Trim(),formats,new CultureInfo("en-US"),DateTimeStyles.None);
DateTime.TryParseExact(delimit[5].Trim(),formats,new CultureInfo("en-US"),DateTimeStyles.None, out closedDate);
severity = delimit[7].Split('-').Last().Trim();
state = delimit[6].Trim();
}
catch(Exception e)
{
Console.WriteLine(line);
}
答案 0 :(得分:1)
formats数组应包括24小时制。
可以使用dd/MM/yyyy HH:mm
或MM/dd/yyyy HH:mm
或M/d/yyyy HH:mm
或d/M/yyyy H:m
格式。
请注意,关于您拥有12位的日期和月份,只有您知道自己的格式是dd-MM-yyyy还是MM-dd-yyyyy。
您可以检查代码的示例输入,并根据您应仔细选择的格式进行选择。
希望这会有所帮助。