将字符串转换为时间

时间:2010-10-06 08:59:58

标签: c# string datetime time format

我有这样的字符串:“0:385”(第一个数字是秒,下一个数字是毫秒),我想在datagridview中使用排序像数字(不像字符串)所以我试图从字符串中生成DateTime但我不确定这究竟是怎么做到的。我知道我应该使用方法Parse(或ParseExact),但是当我尝试它时,它说“String不被识别为有效的DateTime。”。我读了一些关于这方面的文章,但我不确定如何使用IFormatProvider和下一个参数。 谢谢你的帮助

4 个答案:

答案 0 :(得分:6)

您可以使用以下内容:TimeSpan.Parse("0:0:0.365")

但你必须格式化这样的字符串:[d。] hh:mm:ss [.ff](日[d]和小数秒[ff]是可选的)

请参阅TimeSpan.Parse Method on MSDN

答案 1 :(得分:4)

由于您缺少字符串中的日,月和年,因此无法将其解析为DateTime。

请尝试使用TimeSpan

答案 2 :(得分:0)

TimeSpan.Parse(“0:0:0”+ str.Replace(':','。'))

答案 3 :(得分:0)

请试试这个,

 var dt = new DateTime(2010, 06, 26); // time is zero by default
 string currTime = "19:04:06";//dateTimePicker1.Value.TimeOfDay.ToString();
 var tm = TimeSpan.Parse(currTime);
 var fullDt = dt + tm;