c# - 日期时间参数抛出异常

标签 c# asp.net-mvc

传递参数时,有时会抛出以下错误

'String was not recognized as a valid DateTime'

它不喜欢这样的日期:

(Chrome)

日期=2017-03-28T13%3a01%3a59+01%3a00

日期=2017-04-01T10%3a35%3a57+01%3a00

(Safari 10)

日期=2017-06-02

public ActionResult Add(string date = null)
{
   DateTime startTime = DateTime.Now;
   if (date != null)
   {
      startTime = DateTime.Parse(date);
   }
}

有什么想法吗?

最佳答案

您可以尝试对字符串进行转义:

public ActionResult Add(string date = null)
{
    DateTime startTime = DateTime.Now;

    if (date != null)
    {
        startTime = DateTime.Parse(Uri.UnescapeDataString(date));
    }
}

关于c# - 日期时间参数抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43183522/

相关文章:

c# - 如何使用 C# 首先从目录中获取旧文件?

c# - 清除和重新填充列表框时闪烁

c# - 无需 Controller 操作即可生成 View

c# - 找出字符串是否为空的问题

asp.net-mvc - 如果 kendo ui grid 创建操作的参数名为 "model",则模型绑定(bind)到操作始终为 null

c# - 将不同的数字类型作为参数发送到方法时是否存在性能问题?

c# - 将列表对象传递给 C# Web Api POST

c# - 如何让 Crystal Reports 显示项目符号列表

c# - 对于使用 HttpClient 的 API 调用,无法使用 NLog 抑制 Microsoft 日志

c# - 单元测试 Mvc.Compare 属性错误地返回模型 isValid = true