【问题标题】:Get date only in a DateTime in LINQ (ASP.Net MVC) [duplicate]仅在 LINQ 中的 DateTime 中获取日期(ASP.Net MVC)[重复]
【发布时间】:2016-10-12 12:25:08
【问题描述】:

当它显示在视图的数据网格中时,日期显示为10/20/2016 12:00:00 AM。我可以在控制器中使用 LINQ 删除时间吗?我尝试使用不同的技术将其转换为字符串,但没有成功。

型号

public class UserModel
{
    public string userid { get; set; }
    public string userdesc { get; set; }
    public DateTime startdt { get; set; }
    public DateTime enddt { get; set; }
    public string status { get; set; }
}

控制器

var users = from u in _odb.USR_MSTR
            select new UserModel
            {
                userid = u.USR_ID,
                userdesc = u.USR_DESC,
                startdt = u.STRT_DT, //Can I get the date only from this dates?
                enddt = u.END_DT,
                status = (u.INACTV_DT == null ? "Active" : "Inactive")
            };

查看

<tbody id="dbBody">
    @foreach (var item in Model)
    {
        <tr>
            <td class="hidden">
                @Html.DisplayFor(modelItem => item.startdate)
            </td>
            <td class="hidden">
                @Html.DisplayFor(modelItem => item.enddate.ToShortDateString())
            </td>
        </tr>
    }
</tbody>

【问题讨论】:

  • 如果您不想显示时间,那么您需要更改显示时间的代码,而不是从数据库中获取时间的代码。
  • @BviLLe_Kid 这只会将时间部分截断为午夜,而生成的 DateTime 仍会有时间部分。这是显示问题,而不是检索问题。
  • @HarambeAttackHelicopter:我希望你的数据库中没有存储字符串而不是日期时间,你能显示查询吗?
  • 那是因为 UserModel.startdt 是 DateTime 而不是字符串。在视图中进行格式化,而不是在模型中。
  • @TimSchmelter 很可能视图是为DateTime 而不是string 设置的,并且OP 需要在视图中而不是控制器中进行格式化,或者可能使用副本中的属性。

标签: c# asp.net-mvc linq datetime model-view-controller


【解决方案1】:

如果你想抑制显示时间,你必须在你的模型中添加DisplayFormat 属性

public class UserModel
{
    public string userid { get; set; }
    public string userdesc { get; set; }

    [DisplayFormat(DataFormatString = "{0:d}")]
    public DateTime startdt { get; set; }

    [DisplayFormat(DataFormatString = "{0:d}")]
    public DateTime enddt { get; set; }

    public string status { get; set; }
}

或在视图中格式化日期

@foreach (UserModel item in Model)
{
     @string.Format("{0:d}", item.startdt) 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 2016-11-09
    • 2019-01-06
    • 1970-01-01
    相关资源
    最近更新 更多