C# C时间跨度给出了与预期不同的结果

C# C时间跨度给出了与预期不同的结果,c#,timespan,C#,Timespan,这是一个简单的任务,却变成了一个混乱的局面 2:20分钟,按此时间间隔放置0,2,20,然后 TimeSpan.TotalSeconds为您提供140秒 但当你做同样的计算时,它给出132 谷歌和其他转换器也给出了132。所以我认为这是正确的答案 但当你这样计算时,2分钟=120瑞典克朗+20瑞典克朗,它是140瑞典克朗 这是虫子吗? 那么哪一个是正确的呢 2:20分钟,按此时间间隔0,2,20放置,然后TimeSpan.TotalSeconds为140秒 对。您正在将0小时2分20秒传递给构造

这是一个简单的任务,却变成了一个混乱的局面

2:20分钟,按此时间间隔放置0,2,20,然后 TimeSpan.TotalSeconds为您提供140秒

但当你做同样的计算时,它给出132

谷歌和其他转换器也给出了132。所以我认为这是正确的答案

但当你这样计算时,2分钟=120瑞典克朗+20瑞典克朗,它是140瑞典克朗

这是虫子吗? 那么哪一个是正确的呢

2:20分钟,按此时间间隔0,2,20放置,然后TimeSpan.TotalSeconds为140秒

对。您正在将0小时2分20秒传递给构造函数。因为一分钟是60秒,所以跨度中的总秒数是60+60+20=140

但是当你做同样的计算时,它给出132

2.20表示小数点后可以忽略两个和十分之二的尾随零,就像小数点前忽略前导零一样。那么,十分之一分钟有多少秒?因为一分钟有60秒,十分之一是6秒;因此,60秒的十分之二是12秒

现在我们有一个60+60+12=132秒的跨度


这里没有错误,只是错误理解了2.20在应用于分钟时的含义。

2.20分钟意味着2.2*60秒,而不是2*60+20秒。两点二分二加五分之一,一分钟是60,即60+60+60的五分之一,即12实际上是132秒。也许你是说时间跨度2:20?你生活在一个时间间隔很长的国家吗。。而不是:如果他们曾经是?这可能会导致你犯错误,因为1234和56秒被写为12.34.56???@CaiusJard嗯,当我试图将视频持续时间转换为以秒为单位的时间时,出现了问题。所以我从Youtube 2:20中得到一个字符串,我的逻辑被拆分:'它并构造一个TimeSpan0,2,20,然后从中得到总秒数。但当我在谷歌上做同样的事情时,它说是132秒。而不是我之前从变量中得到的140值。当我使用TimeSpan.FromMinutes2.20时,它是132。如果youtube告诉你一个视频的长度是2:20,而你要求谷歌将其转换为132,那么我想这取决于你问谷歌什么。2:20肯定是140秒,2.2分钟肯定是132秒。我问bing,它说是140,但我非常明确地说我希望它如何进行转换。2:20是2分20/60分,即2.333333分,即140秒。2.2是60秒的2分之一,即132秒。2:20的视频绝对不是2.2分钟长。检查您如何要求google确认您的逻辑。哦,然后尝试TimeSpan.Parse或ParseExact-对于Parse,它将假定为hh:mm,因此Parse 00:02:00或ParseExact并提供格式-