将 HH:MM:ss 字符串转换为日期时间
本文关键字:日期 转换 时间 ss HH MM 字符串 | 更新日期: 2023-09-27 18:33:17
我正在从 excel 文件中读取并将内容保存到数据库中
其中一列包含此格式的视频长度
呵呵:嗔
唔�到目前为止我写了这段代码
string time = oledbReader[6].ToString();
DateTime streamingTime = DateTime.ParseExact(time,
"HH:mm:ss",
System.Globalization.CultureInfo.CurrentCulture);
我收到错误:
字符串未被识别为有效的日期时间。
我尝试了调试模式,在可变时间中看到值:"30/12/1899 00:09:21"当当前 execl 列中的值为:"00:09:21"
"30/12/1899"从何而来?为什么字符串未被识别为有效的日期时间?
我可以只将格式 HH:mm:ss 保存到 sql 服务器吗?
试试这个,简单的黑客,就像我上面的评论一样。
string time = oledbReader[6].ToString().Split(" ".ToCharArray())[1];
DateTime streamingTime = DateTime.ParseExact(time, "HH:mm:ss",System.Globalization.CultureInfo.CurrentCulture);
或者您可以按原样解析它...
DateTime streamingTime = DateTime.ParseExact(time, "dd/MM/yyyy HH:mm:ss", System.Globalization.CultureInfo.CurrentCulture);
由于您没有向我们提供有关您的CultureInfo
的任何信息,因此此处InvariantCulture
string time = "30/12/1899 00:09:21";
DateTime streamingTime = DateTime.ParseExact(time, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
Console.WriteLine(streamingTime);
输出将是;
12/30/1899 12:09:21 AM
这里有一个DEMO
.
有关更多信息,请查看Custom Date and Time Format Strings
使用TimeSpan
结构来保存时间值。DateTime
包括日期和时间。
问题是 excel 没有时间字段并自动将时间转换为日期时间字段。如果课程日期为"空",这意味着它是 excel 的最小日期 - 30/12/1899
此外,您不必调用 ToString 方法,因为对象已经是 DateTime