计算出分钟和小时

时间:2009-03-03 13:31:52

标签: c# .net datetime

我有一个分钟值,我希望有两个字符串值,一个是多少小时,另一个是分钟,例如:

价值 - 121分钟

string hours = 2
字符串分钟= 1

价值 - 58分钟

字符串小时= 0
字符串分钟= 58

我如何在C#中解决这个问题?

5 个答案:

答案 0 :(得分:34)

var span = System.TimeSpan.FromMinutes(121);
var hours = ((int)span.TotalHours).ToString();     
var minutes = span.Minutes.ToString();

ToString()是因为你要求输入字符串值...

TotalHours是TimeSpan中的完整小时数,它们可以超过24小时(而“小时”字段最多为24小时)

哦,第二个想法:为什么要使用TimeSpan而不是自己计算?因为TimeSpan已经调试过了经过微软的测试,它有一个很好的干净界面(查看代码,你可以轻松地看到它们是什么,而无需精神上的计算),它很容易扩展到更多的解决方案。 (请在几秒钟内输入?使用TimeSpan.FromSeconds()。想要几天?使用span.TotalDays ...)

<强> 更新

我刚刚在答案中注意到错误:TotalHours返回所有小时的小数值,因此我们必须在将其转换为字符串之前将其截断为整数。

答案 1 :(得分:8)

使用Timespan结构及其Parse方法。

答案 2 :(得分:2)

int value = 121;
int hours = value / 60; // 2
int minutes = value % 60; // 1

string strHours = hours.ToString();
string strMinutes = minutes.ToString();

答案 3 :(得分:1)

int value = 121;
int hours = value / 60;
int minutes = value % 60;

答案 4 :(得分:0)

int value = 121;
TimeSpan timeSpan = TimeSpan.FromMinutes(value);

// gives you the rounded down value of 2
int hours = timeSpan.Hours; 

// gives you the minutes left of the hour
int minutes = value - (hours * 60);