我有一个分钟值,我想要有2个字符串值,一个是小时数,另一个是分钟数,例如:
值- 121分钟
字符串小时=2
字符串分钟=1
值- 58分钟
字符串小时=0
字符串分钟= 58
我如何在C#中解决这个问题?
发布于 2009-03-03 13:38:05
var span = System.TimeSpan.FromMinutes(121);
var hours = ((int)span.TotalHours).ToString();
var minutes = span.Minutes.ToString();ToString()是因为您请求字符串值...
小时是TimeSpan中的完整小时,它们可以超过24小时(而“TotalHours”字段最多为24小时)。
哦,再想一想:为什么使用TimeSpan而不是自己计算它?因为微软已经在那里调试和测试了TimeSpan,所以它有一个很好的干净的界面(查看代码,你可以很容易地看到发生了什么,而不必在脑海中进行计算),并且它很容易扩展到更多的解决方案。(是否以秒为单位进行输入?使用TimeSpan.FromSeconds()。想要这些日子吗?使用span.TotalDays ...)
更新:
我刚刚注意到我的答案中的错误: TotalHours返回所有小时的小数值,所以在将其转换为字符串之前,我们必须将其截断为整数。
发布于 2009-03-03 13:37:16
使用Timespan结构及其Parse方法。
发布于 2009-03-03 13:34:35
int value = 121;
int hours = value / 60; // 2
int minutes = value % 60; // 1
string strHours = hours.ToString();
string strMinutes = minutes.ToString();https://stackoverflow.com/questions/606404
复制相似问题