我只需要将用户输入的日期与存储在我的数据库中的DateTime
进行比较。我尝试将DateTime
转换为Date
,如下所示:
select CONVERT(date, startdate) from myTable
但是,当我的GridView
中显示信息时,该日期仍有一段时间。 (显示的时间是12:00:00。)如果从数据库中提取信息,或者比较DateTime
,我该怎么办才能将Date
转换为Date
到DateTime
?为什么仍然显示时间,即使我将DateTime
转换为Date
?
**更新
值得注意的是,我可以在SQL Server Management Studio中运行填充GridView
的查询,显示的结果是我所期望的 - 没有时间在日期中。我认为问题必须在VB.NET中......
**更多信息
我让用户填写一张表格,用于在数据库中搜索相关结果。但是,就目前而言,没有返回任何结果,因为用户在表单上的Date
字段中输入了正常日期,而数据库中的字段是DateTime
。这就是为什么我需要知道如何转换它。
**请求的信息
以下是我正在使用的查询:
select convert(date, startdate) as startdate, CONVERT(date, completedate) as completedate
from myTable
以下是SQL Server Management Studio中的结果集(无时间):
以下是网格中的结果集(显示时间):
我显然忽略了数据库中的信息,但显示的信息是我所担心的。我不得不省略机密信息。
答案 0 :(得分:0)
它将它作为.NET中的DateTime返回,它会自动添加时间。在进行显示时,只需在VB.NET中进行转换即可。例如,如果你正在使用MVC并且你传递了你的视图模型,那么在你的Razor语法中,你会做vm.DateRetrieved.ToString("d")
https://msdn.microsoft.com/en-us/library/system.datetime.date(v=vs.110).aspx
Dim dateTimeStamp = DateTime.Now
Console.WriteLine(dateTimeStamp.ToString("d"))
'12/6/2016 14:22:28PM
'12/6/2016