我试图用日期进行演员表但是它引发了我的异常
代码是:
这项工作 - >
var FechaInicio = Model != null ? DateTime.Parse(Model.FechaInicio).Date.ToString("dd/MM/yyyy") : DateTime.Parse("").Date.ToString("dd/MM/yyyy");
这不起作用 - >
var FechaFin = Model != null ? DateTime.Parse(Model.FechaFin).Date.ToString("dd/MM/yyyy") : DateTime.Parse("").Date.ToString("dd/MM/yyyy");
模型为Ok,值为字符串格式的日期
错误是:
' /'中的服务器错误应用。 字符串未被识别为有效的DateTime。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。
异常详细信息:System.FormatException:String未被识别为有效的DateTime。
来源错误:
Line 13: var Ubicacion = Model != null ? Model.Ubicacion : null;
Line 14: var FechaInicio = Model != null ? DateTime.Parse(Model.FechaInicio).Date.ToString("dd/MM/yyyy") : DateTime.Parse("").Date.ToString("dd/MM/yyyy");
Line 15: var FechaFin = Model != null ? DateTime.Parse(Model.FechaFin).Date.ToString("dd/MM/yyyy") : DateTime.Parse("").Date.ToString("dd/MM/yyyy");
答案 0 :(得分:1)
错误很简单。传递给Parse
的字符串无法解释为有效的DateTime
。默认情况下,使用Parse
时会使用当前区域性的格式。不确定在您的情况下究竟是什么,但它可能与输出DateTime.Now.ToString()
时看到的相同。
DateTime.Today.ToString()
失败的原因是因为输出只有一个日期组件。 Parse
使用的默认格式需要日期和时间组件。
如果您需要将字符串解析为与当前文化格式不匹配的DateTime
,则需要使用ParseExact
代替Parse
并传递格式字符串,显示基于字符串的日期时间的格式。