這兩個TimeSpan以24小時格式存儲在數據庫中。沒有日期,只有TimeSpan。TimeSpan減法方法返回負值TImeSpan
Dim r As TimeSpan
Dim tsStart As TimeSpan
Dim tsEnd As TimeSpan
'tsStard is 12:27:30 (pm) this happened first
'tsEnd is 00:10:25 (am) then this happened later
'You can't store 24:10:25 in the column type Time(7)
r = tsEnd.Subtract(tsStart)
「的R = -12:17:05
是否有時間跨度的方法來得到這個權利?謝謝。
如果沒有日期,並假設tsStart和tsEnd可以在不同日期參考時間,那麼沒有辦法讓它「正確」。你無法知道跨度中有多少天是正確的。此時您正在生成值,而不是計算它們。 – jball 2009-12-09 19:50:23
我正在寫一個簡單的應用程序來計算學生的入住和退房時間。它記錄了特定日期的進入和退出時間。還有另一列只存儲日期類型。 。所以,在記錄中你有Date,TimeIn,TimeOut。是的,如果列TimeIn和TimeOut是DateTime類型,則會更容易。但是,我正在試驗數據類型時間(7)。 – 2009-12-09 19:56:55
時間(7)佔用5個字節,smalldatetime佔用4個字節。如果您在一分鐘以內不需要精確性,smalldatetime消耗較少的存儲空間,並且可以節省長時間段的問題。就我個人而言,我仍然傾向於使用完整的DateTime來開始和結束,因爲它從長期來看更健壯,每個記錄6到8個字節並不是存儲消耗的巨大增加。 – jball 2009-12-09 20:31:32