2015-12-03 29 views
0

在我的一個Windows應用程序中,我使用的是SQL Server 2008 R2。哪裏有一個數據類型爲time(1)的列。檢索數據類型爲時間的時間值(1)

我在該列中有一個虛擬值可以說09:00:00其格式爲HH:mm:ss

現在,當我在代碼中檢索相同的值並將其存儲到網格中時。我使用下面的代碼。

VSFlexShift.set_TextMatrix(i, 2, objShiftMasterDTO.SHIFT_START.ToString("HH:mm:ss")); 

但我得到一個錯誤

輸入字符串的不正確的格式

當我存儲前的日期值:

Column: date 
datatype: DateTime 
Value: 2015-11-30 15:05:01.120 

當我試圖在代碼中檢索它

VSFlexHoliday.set_TextMatrix(i, 3, objHolidayMasterDTO.HOLIDAY_DATE.ToString("dd/MM/yyyy")); 

返回:30/11/2015

現在我需要得到我提到的第一個時間格式9:00:00。如何得到它?任何幫助讚賞。

+0

你是怎麼了'time'屬性映射到的了'DateTime' DTO? –

+0

'TimeSpan _SHIFT_START;' –

+0

運行時'TimeSpan _SHIFT_START'的價值是什麼? –

回答

0

由於time mapped with TimeSpan在CLR端,TimeSpan格式是很少位與DateTime格式不同。

來自Custom TimeSpan格式字符串;

定製TimeSpan格式說明不包括佔位符 分離器的符號,諸如符號,從分開小時天,從分鐘,或分數秒秒 小時。相反,這些 符號必須作爲字符串 包含在自定義格式字符串中。例如,"dd\.hh\:mm"限定的時段(.),爲日期和時間之間的 隔板和結腸(:)作爲小時和分鐘之間的分隔符 。

這就是爲什麼你需要使用\:的分離器和需要使用hh specifier因爲TimeSpan沒有HH符爲自定義說明符。

VSFlexShift.set_TextMatrix(i, 2, objShiftMasterDTO.SHIFT_START.ToString("hh\\:mm\\:ss")); 

VSFlexShift.set_TextMatrix(i, 2, objShiftMasterDTO.SHIFT_START.ToString(@"hh\:mm\:ss")); 

延伸閱讀:

相關問題