我有时间"00.05.415"
(mm:ss.000),格式为string
。
我想将其转换为TIME
格式,我可以添加多次,例如"00.05.415"+"00.06.415"+"00.07.415"
,以便获得一次加时间。
答案 0 :(得分:3)
您需要使用TimeSpan.ParseExact,以便指定时间格式,然后您可以将时间跨度添加到一起:
public static void Main(string[] args)
{
TimeSpan span1 = Convert("00.05.415");
TimeSpan span2 = Convert("00.07.415");
TimeSpan result = span1 + span2;
Console.WriteLine(result);
Console.ReadKey();
}
public static TimeSpan Convert(string span)
{
return TimeSpan.ParseExact(span, @"mm\.ss\.fff", CultureInfo.InvariantCulture);
}
https://msdn.microsoft.com/en-us/library/ee372287(v=vs.110).aspx
答案 1 :(得分:0)
如果您知道格式预定义为mm:ss.000
,则可以执行以下操作来解析TimeSpan:
var strings = "00:05.415".Split(new []{'.', ':'}, StringSplitOptions.RemoveEmptyEntries);
var minutes = int.Parse(strings[0]);
var seconds = int.Parse(strings[1]);
var milliseconds = int.Parse(strings[2]);
var time = new TimeSpan(0, 0, minutes, seconds, milliseconds);
然后你可以将TimeSpan
加在一起。
答案 2 :(得分:0)
您想要查看Avitus拥有的链接here。
我不得不问你为什么要把它们加在一起。 You can't really 'add' times together。
一种可能的选择是将每个转换为毫秒,然后格式化结果值。
5秒+3.2秒可能是:
5000 + 3200 = 8200.
然后您使用系统。 TimeSpan 将其转换为天,小时,分钟......等等
感谢修正Matt
答案 3 :(得分:0)
如果未预先定义格式,请使用此4KB脚本https://github.com/alekspetrov/time-input-js
它将字符串/数字转换为时间格式HH:MM:SS
示例
00:00:00 -> 00:00:00
12:01 -> 12:01:00
12 -> 12:00:00
25 -> 00:00:00
12:60:60 -> 12:00:00
1dg46 -> 14:06
["notatime"] -> 00:00:00 + console warn