正在检索数据类型为时间(1)的时间值
本文关键字:时间 检索 数据类型 | 更新日期: 2023-09-27 18:25:23
在我的一个windows应用程序中,我使用的是SQL Server 2008 R2。其中有一列的数据类型为time(1)
。
我在该列中有一个伪值,比如09:00:00
,其格式为HH:mm:ss
。
现在,当我在代码中检索相同的值并将其存储到网格中时。我使用以下代码。
VSFlexShift.set_TextMatrix(i, 2, objShiftMasterDTO.SHIFT_START.ToString("HH:mm:ss"));
但我收到一个错误
输入字符串的格式不正确
当我存储ex:的日期值时
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
。如何获取?感谢您的帮助。
由于time
与CLR端的TimeSpan
映射,TimeSpan
格式与DateTime
格式相差小位。
来自自定义时间跨度格式字符串;
自定义
TimeSpan
格式说明符不包括占位符分隔符符号,例如将天与小时分开的符号,小时从分钟开始,或秒从小数秒开始。相反,这些符号必须作为字符串包含在自定义格式字符串中文字。例如,"dd'.hh':mm"
将周期(.
)定义为天和小时之间的分隔符,以及冒号(:
)作为分隔符在小时到分钟之间。
这就是为什么您需要将':
用于分隔符,并且需要使用hh
说明符,因为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"));
进一步阅读:
- 自定义时间跨度格式字符串
- 自定义日期和时间格式字符串