从DateTimePicker中提取TimeOfDay

时间:2013-09-16 16:33:01

标签: vb.net

我有一个约会时间选择器。我只需要从中提取时间来保存到数据库(我的数据库的DateTime列) 我试图通过DateTimePicker1.Value.TimeOfDay得到它,但这给出了错误:

'System.TimeSpan'类型的值无法转换为'Date?'。

3 个答案:

答案 0 :(得分:1)

如果您在数据库中有datetime列,则可以保存DateTimePicker1.Value,但它也将包含日期部分。阅读该列后,您可以使用TimeOfDay属性

获取日期时间

如果列数据类型为TimeSpan(SQL Server 2008及更高版本),则可以保存time

答案 1 :(得分:0)

如果这是针对新开发的,则应根据Note here使用单独的datetime列或datetime2列。由于您只存储时间,因此采用这种方法可能最容易。

但是,要仅存储DateTime值的时间部分,您需要一个基数Date加上TimeOfDay值。您可以直接使用DateTimePicker1.Value或使用常量Date作为基础来获得此结果。无论哪种方式,您都无法在SQL TimeOfDay字段中存储没有相应Date的{​​{1}}。

答案 2 :(得分:-1)

为什么不将Date变量转换为String和 那么您可以在代码中使用ToShortTimeString()ToString() 在将其保存到您的数据库之前,例如:

DateTimePicker1.Value.ToShortTimeString()

DateTimePicker1.Value.TimeOfDay.ToString()