我有这样的字符串:“0:385”(第一个数字是秒,下一个数字是毫秒),我想在datagridview中使用排序像数字(不像字符串)所以我试图从字符串中生成DateTime但我不确定这究竟是怎么做到的。我知道我应该使用方法Parse(或ParseExact),但是当我尝试它时,它说“String不被识别为有效的DateTime。”。我读了一些关于这方面的文章,但我不确定如何使用IFormatProvider和下一个参数。 谢谢你的帮助
答案 0 :(得分:6)
您可以使用以下内容:TimeSpan.Parse("0:0:0.365")
但你必须格式化这样的字符串:[d。] hh:mm:ss [.ff](日[d]和小数秒[ff]是可选的)
答案 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;