C# 将字符串转换为时间
我有这样的字符串:“0:385”(第一个数字是秒,下一个数字是毫秒),我想在datagridview中使用类似于数字(而不是字符串)的排序,所以我试图从字符串中确定DateTime,但我不确定具体如何做到这一点。我知道我应该使用方法Parse(或ParseExact),但当我尝试它时,它会说“字符串未被识别为有效的日期时间”。我读了一些关于这方面的文章,但我不确定如何确切地使用IFormatProvider和next参数。C# 将字符串转换为时间,c#,string,datetime,time,format,C#,String,Datetime,Time,Format,我有这样的字符串:“0:385”(第一个数字是秒,下一个数字是毫秒),我想在datagridview中使用类似于数字(而不是字符串)的排序,所以我试图从字符串中确定DateTime,但我不确定具体如何做到这一点。我知道我应该使用方法Parse(或ParseExact),但当我尝试它时,它会说“字符串未被识别为有效的日期时间”。我读了一些关于这方面的文章,但我不确定如何确切地使用IFormatProvider和next参数。 感谢您的帮助因为您的字符串缺少日期、月份和年份,您将无法将其解析为日期时
感谢您的帮助因为您的字符串缺少日期、月份和年份,您将无法将其解析为日期时间
尝试改用。您可以使用以下命令:
TimeSpan.Parse(“0:0:0.365”)
但是您必须将字符串格式化如下:[d.]hh:mm:ss[.ff](天[d]和小数秒[ff]是可选的)
请参阅TimeSpan.Parse(“0:0:0”+str.Replace(“:”,“。”)请尝试此操作
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;
我以前尝试过TimeSpan,但当我使用方法Parse时,它说:“TimeSpan无法被解析,因为至少有一个小时、分钟或秒组件超出了它的有效范围。”Thansk,这很有帮助,我认为我必须将字符串修复为正确的格式。