首页 文章

如何在VB.NET中将Date与DateTime进行比较?

提问于
浏览
-1

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

select CONVERT(date, startdate) from myTable

但是,当信息显示在我的 GridView 中时,日期仍然存在时间 . (显示的时间是12:00:00 . )当从数据库中提取信息或将 DateDateTime 进行比较时,如何将 DateTime 转换为 Date ?为什么还有时间显示,即使我将 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

    它将它作为.NET中的DateTime返回,它会自动添加时间 . 在进行显示时,只需在VB.NET中进行转换即可 . 例如,如果你传递了你的视图模型,那么在你的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
    

相关问题