![](/img/trans.png)
[英]Convert dd/MM/yyyy hh:mm:ss.fff from String to DateTime in C#
[英]convert hh:mm:ss:fff to ss.fff in C#
我有一个像00:00:01:347(hh:mm:ss:fff)这样的字符串,它以毫秒为单位表示时间。 我想将其转换为01.347(totalsecond.fff)。
我尝试下面的代码执行
string time = "00:00:01:347:789";
int index = time.LastIndexOf(":");
if (index > 0)
time = time.Substring(0, index);
double seconds = TimeSpan.Parse(time).TotalSeconds;
但它在最后一行给出了例外。 如果有人可以帮助我,那就太好了。
您可以先使用ParseExact
将字符串解析为DateTime
,然后使用TimeOfDay
属性获取时间跨度。
static void Main(string[] args)
{
string time = "00:00:01:347"; // I removed the microsecond for brevity
DateTime dt = DateTime.ParseExact(time, "hh:mm:ss:fff", CultureInfo.InvariantCulture);
Console.WriteLine(dt.TimeOfDay.TotalSeconds); // 01.347(totalsecond.fff)
Console.ReadLine();
}
编辑:如@Andrew所述,这是另一个解决方案。
TimeSpan ts = TimeSpan.ParseExact(time, "hh\\:mm\\:ss\\:fff", CultureInfo.InvariantCulture);
Console.WriteLine(ts.TotalSeconds); // 01.347
请注意,您必须转义分隔符以避免获取FormatException。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.