【发布时间】:2016-05-12 18:12:31
【问题描述】:
我有一个字符串未被识别为有效的日期时间错误。
遵循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”的格式,但仍然遇到同样的错误。
感谢任何提示或帮助。
【问题讨论】:
-
dateTimeId的价值是什么以及为什么你觉得需要使用string.Join() Method你想要完成什么你需要查找string.Format函数跨度> -
@pavilion
Split的结果是string[]所以调用Take会给你一个string,没有理由调用ToArray(返回一个@987654335 @) 只是为了重新创建相同的string,方法是将其传递给string.Join -
@CodeCaster "g" 本身就是General date/time pattern (short time) 的标准日期格式
-
@pavilion 我认为你被否决了,因为
string.Join真的让人们失望了。这就是为什么最好显示问题的最小重现,在这种情况下可能只是DateTime.ParseExact("3/16/2002 9:20", "g", CultureInfo.InvariantCulture)
标签: c# datetime-parsing