2013-04-14 68 views
-1

如何強制cxDateEdit將時間重置爲00:00:00?其實我不需要時間,只是改變了它的屬性,但不知何故時間仍然包含在結果中。不可見,但足以使我的查詢結果錯誤。我必須將時間重置爲00.cxDateEdit設置時間

+2

只需要'Trunc(cxDateEdit1.DateTime)'。這種行爲是預期的。 –

回答

3

DateUtils.DateOf僅返回日期時間變量的日期部分。

// QueryDate is a TDateTime variable 
QueryDate := DateUtils.DateOf(cxDateEdit1.DateTime); 
YourQuery.ParamByName('TheDate').AsDateTime := QueryDate; 

對於使用老版本的Delphi是沒有DateUtils單元未來的讀者,可以完成使用Trunc同樣的事情。 (如果你有DateUtils,它更清晰,如果你使用DateOf,而不是你在做什麼。)

QueryDate := Trunc(cxDateEdit1.DateTime); 
+0

這比'Trunc()'好些? –

+0

@Warren,我上次發佈'Trunc'而不是推薦'RecodeTime'我得到了負面評論和一些downvotes。我在這裏涵蓋了兩個基地。 :-)我個人使用'Trunc',因爲它的輸入較少,我知道它的功能。 –

+0

我更喜歡'Trunc()',因爲它很明顯。截斷一個浮點數。這反過來證明了讀者需要知道的事實。 DayOf是一個謎。 –

0

有在其中您可以設置爲False屬性一個SaveTime屬性。這將只存儲日期。

+0

它沒有幫助....時間仍然在等式中的數字。 – user763539