【问题标题】:How to convert to yyyy-MM-dd format for DateTime? [duplicate]如何将 DateTime 转换为 yyyy-MM-dd 格式? [复制]
【发布时间】:2020-01-13 03:21:05
【问题描述】:

我有一个接受 2 个日期参数的 MVC 操作方法。我尝试使用.ToString,但它给了我这个错误:

返回当前值的文本表示 可空对象。

方法 'ToString' 没有重载需要 1 个参数。

在将其传递给视图之前,我需要将其转换为 yyyy-MM-dd。否则,文本框将无法显示日期值。这是代码

public ActionResult Index(DateTime? dateFrom, DateTime? dateTo)
{            
    ViewBag.DateFrom = dateFrom.ToString("yyyy-MM-dd");

    return View();
}

【问题讨论】:

  • dateFrom 可以为空,你应该使用dateFrom.Value.ToString("yyyy-MM-dd") 或dateFrom?.ToString("yyyy-MM-dd")
  • 您还必须回答“如果可空日期实际上为空,您想在视图中显示什么日期?”。

标签: c# asp.net-mvc datetime


【解决方案1】:
public ActionResult Index(DateTime? dateFrom, DateTime? dateTo)
{
    ViewBag.DateFrom = dateFrom?.ToString("yyyy-mm-dd");

    return View();
}

【讨论】:

  • 能否添加代码说明?
【解决方案2】:

您可以像使用普通的DateTime 一样使用ToString。但是,您有可以为空的 DateTime?,但这是行不通的。

试试dateFrom.Value.ToString("yyyy-mm-dd")

还要注意mm(分钟)和MM(月)。我确定你需要MM。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 2019-05-15
    • 2014-05-28
    • 1970-01-01
    • 2018-08-11
    相关资源
    最近更新 更多