我有一个字符串未被识别为有效的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”的格式,但仍然得到同样的错误。
感谢任何提示或帮助。
答案 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
。