C# 将字符串转换为时间澄清

C# 将字符串转换为时间澄清,c#,sql-server,C#,Sql Server,我有这样一个字符串:16:00,我希望它保存在SQL Server数据库中的一列中,该列的数据类型为time(7) 当然,在保存它之前,我需要转换时间数据类型中的字符串 使用Convert.ToDateTime时,我收到一个错误: 无法将类型“System.DateTime”隐式转换为“System.TimeSpan” 这是因为我正在将Convert.ToDateTime(myString)保存为数据库中具有time(7)数据类型的实体的属性 是否有其他方法可以将我的字符串转换为与SQL Ser

我有这样一个字符串:
16:00
,我希望它保存在SQL Server数据库中的一列中,该列的数据类型为
time(7)

当然,在保存它之前,我需要转换时间数据类型中的字符串

使用
Convert.ToDateTime
时,我收到一个错误:

无法将类型“System.DateTime”隐式转换为“System.TimeSpan”

这是因为我正在将
Convert.ToDateTime(myString)
保存为数据库中具有
time(7)
数据类型的实体的属性


是否有其他方法可以将我的字符串转换为与SQL Server中的
time(7)
数据类型兼容的格式?

而不是
Convert.ToDateTime
使用
DateTime.TryParseExact(您的时间字符串,“HH:mm”,“out-DateTime”)


缺少其他参数。请查看
DateTime.TryParseExact
文档。但基本上它会将字符串从指定的格式转换为日期时间。

而不是
Convert.ToDateTime
使用
dateTime.TryParseExact(您的时间字符串,“HH:mm”,out dateTime)


缺少其他参数。请查看
DateTime.TryParseExact
文档。但基本上它会将字符串从指定的格式转换为日期时间。

使用SQL Server的
Convert
函数

convert(DateTime, '20:10:00:000', 114);

请参见使用SQL Server的
转换功能

convert(DateTime, '20:10:00:000', 114);

请参见

与SQL
time
数据类型相对应的托管类型是
TimeSpan
(或
TimeSpan?
可为空时),而不是
DateTime
–有关类型转换列表,请参阅


您可以使用
TimeSpan.Parse(myString)
转换字符串。

与SQL
time
数据类型相对应的托管类型是
TimeSpan
(或
TimeSpan?
可为空时),而不是
DateTime
——有关类型转换的列表,请参阅


您可以使用
TimeSpan.Parse(myString)
转换字符串。

您也可以这样使用它

Convert.ToDateTime(myString).TimeOfDay();
这将返回时间。您可以将该值传递给Sql命令参数

TimeOfDay
返回
TimeSpan
对象

TimeSpan tp = Convert.ToDateTime(myString).TimeOfDay();

你也可以这样使用它

Convert.ToDateTime(myString).TimeOfDay();
这将返回时间。您可以将该值传递给Sql命令参数

TimeOfDay
返回
TimeSpan
对象

TimeSpan tp = Convert.ToDateTime(myString).TimeOfDay();

但这无法修复错误,
DateTime
仍然无法转换为
TimeSpan
,无论您如何创建它。但这无法修复错误,
DateTime
仍然无法转换为
TimeSpan
,无论您如何创建它。