SQL Server返回日期和时间,而不仅仅是日期.ASP.net网页

本文关键字:日期 ASP 不仅仅是 net 网页 时间 Server 返回 SQL | 更新日期: 2023-09-27 17:58:37

我正在使用WebMatrix 3中的ASP.net网页创建一个网站。我有一个数据库(SQL Server),其中有一个包含事件记录的表。日期类型的InDate列是主键。但是,输入的数据显示为"4/2014 12:00:00 AM"。

这正常吗?如果是,如何从日期中删除时间?我试着查找了很多不同的资源。但没有发现任何帮助我的情况。

如果有任何指针,提示,建议或如果你需要更多的信息。请告诉我。

谢谢

更新这是请求的cshtml文件。

@{
   Layout = "~/Layouts/_Site.cshtml";
   PageData.Add("Title","Overview");
   var talkDB = Database.Open("Events");
   string incomingQuery = string.Format("SELECT InDate,Event FROM IncomingEvents WHERE InDate >= GETDATE() AND InDate <= DATEADD(week, 5, GETDATE())");
}

<div id="upcomingEvents" class="alertBox">
    <div id="IncomingEvents">
        <h3>Incoming Events</h3>
        <table class="alertBox">
            @foreach(var row in talkDB.Query(incomingQuery))
            {
                <tr>
                    <td>
                        @row.InDate
                    </td>
                    <td>@row.Event</td>
                    <td>edit</td>
                </tr>
            }
        </table>
    </div>
</div>

SQL Server返回日期和时间,而不仅仅是日期.ASP.net网页

它在网页中显示时间的原因是.NET中没有日期类型,只有DateTime和其他类似类型。从SQL Server获取Date类型时,.NET会将其隐式转换为DateTime。由于日期中没有指定来自SQL Server的时间,因此使用0值,即12:00:00AM。

为了在你的网页上只显示日期,你需要写你的前端代码来做到这一点

这可以通过对数据模型对象的日期属性调用.ToString()来完成,并传入适当的格式字符串.

请参阅此链接,了解DateTime.ToString()的所有参数及其作用:http://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

你很可能想要这样的东西:

@row.InDate.ToString("M/d/yyyy");

具有短手功能:

@row.InDate.ToShortDateString();