【问题标题】:How can I change DateTime to exclude timestamp in this situation?在这种情况下,如何更改 DateTime 以排除时间戳?
【发布时间】:2018-12-08 16:57:21
【问题描述】:

在这个团队 ASP.NET MVC 项目中,有一个带有 lambda 表达式的 JPStudent 索引视图:

@Html.DisplayFor(modelItem => item.JPStartDate)

JPStartDateJPStudent 模型的DateTime 属性。 Index 视图返回带有日期的时间戳,但我需要它只显示日、月和年。

我知道常见的答案是将DateTime 转换为字符串以执行此操作。起初,我打算将它转换为字符串并将其作为另一个属性添加到列表中,因为我需要维护返回 item.JPStartDate 的相同 lambda 表达式(根据团队,我不应该弄乱那个表达式规则)。然后我会在新属性的表达式中切换出item.JPStartDate。但是,当我尝试将日期字符串作为新属性添加到属性列表中时,我的模型文件中出现错误。

JPStudentsController 集:

jPStudent.JPStartDate = DateTime.Now;

所以我在这里尝试将字符串转换为ddmmyy,并得到了

无法将字符串隐式转换为日期时间

错误。我在这里有点难过。我只需要提取日、月和年,但不会弄乱Index 视图的设置方式,以将日期属性返回到视图。

在这种特殊情况下,有人有什么建议吗?我可能错过了一些我现在没有想到的简单方法。如果有人对从DateTime 隔离日、月和年有任何建议,我将不胜感激!

【问题讨论】:

标签: c# datetime model-view-controller


【解决方案1】:

您想从 DateTime 中获取年、月和日?那是对的吗?如果是这样,您可以只使用 Day、Month 和 Year 属性:

        var jpStartDate = DateTime.Now;
        var day = jpStartDate.Day;
        var month = jpStartDate.Month;
        var year = jpStartDate.Year; 

【讨论】:

    【解决方案2】:

    通过这种方式,您将更改值: 日期时间 jpStartDate = DateTime.Now;

    DateTime reduced = new DateTime(jpStartDate.Year, jpStartDate.Month, jpStartDate.Day, 0, 0, 0);
    

    reduced = jpStartDate.Date;
    

    这取决于您是否只想更改可视化或值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 2016-02-10
      相关资源
      最近更新 更多