如何在VB.NET中将日期与日期时间进行比较?

时间:2016-12-06 18:44:30

标签: sql asp.net sql-server vb.net datetime

我只需要将用户输入的日期与存储在我的数据库中的DateTime进行比较。我尝试将DateTime转换为Date,如下所示:

select CONVERT(date, startdate) from myTable

但是,当我的GridView中显示信息时,该日期仍有一段时间。 (显示的时间是12:00:00。)如果从数据库中提取信息,或者比较DateTime,我该怎么办才能将Date转换为DateDateTime?为什么仍然显示时间,即使我将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中的结果集(无时间):

enter image description here

以下是网格中的结果集(显示时间):

enter image description here

我显然忽略了数据库中的信息,但显示的信息是我所担心的。我不得不省略机密信息。

1 个答案:

答案 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