2016-12-06 107 views
-1

我只需要將用戶輸入的日期與存儲在我的數據庫中的DateTime進行比較。我曾嘗試轉換DateTimeDate這樣的:如何將日期與VB.NET中的日期時間進行比較?

select CONVERT(date, startdate) from myTable 

然而,當我GridView,還有附着於日期時間顯示的信息。 (顯示的時間是12:00:00。)當從數據庫中提取信息或將DateDateTime進行比較時,我能做些什麼來將DateTime轉換爲Date?爲什麼仍然有時間顯示,即使我將DateTime轉換爲Date

**更新

這可能是值得指出的是,我可以運行在SQL Server Management Studio中填充我GridView查詢和顯示的結果是什麼,我expect--沒有時間的日期。我認爲這個問題必須在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

我明顯地忽略了來自數據庫的信息,但顯示的信息都是我所擔心的。我不得不省略機密信息。

+0

難道是充分調整日期的渲染的外觀? [如何從c#中更改GridView中列的格式](http://stackoverflow.com/q/10681378/1115360) –

+0

@AndrewMorton我已經更新了這個問題。 – ic3man7019

+0

所以,很明顯,Date沒有時間從數據庫中返回,但是網格被填充了*時間,是正確的?你想知道如何消除時間? – ragerory

回答

0

它將它作爲.NET中的DateTime返回,並自動添加時間。只需在VB.NET中進行轉換即可。例如,如果你使用MVC和你傳遞你的視圖模型,在你的剃鬚刀語法,你會怎麼做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 
相關問題