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>
它在网页中显示时间的原因是.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();