我想计算剩下的几分钟到“下一个”半小时或一小时。如何计算剩余分钟数到“下一个”半小时或一小时?
说我得到一个07:15
的开始时间字符串,我希望它计算剩余的分钟到最近的半小时(07:30)
。
That would be 15min.
然后,我也能有这样的情况:开始时间可以07:45
,我想它来计算剩余分钟到最近的小时(08:00)
。
That would also be 15min.
所以任何字符串不到30分钟的时间将计算至最接近的半小时(..:30)
,并在30分钟内的任何字符串将计算到最接近的小时(..:00)
。
我不想做一堆if语句,因为我从时间字符串中获得可以从一小时开始分钟。
这是我做不想做的事:
if (int.Parse(fromTimeString.Right(2)) < 30)
{
//Do Calculation
}
else
{
//Do Calculation
}
public static string Right(this String stringValue, int noOfCharacters)
{
string result = null;
if (stringValue.Length >= noOfCharacters)
{
result = stringValue.Substring(stringValue.Length - noOfCharacters, noOfCharacters);
}
else
{
result = "";
}
return result;
}
不正是linq
或与DateTime
类
你真的是指“最接近”,还是你的意思是“下一个”?在你的大部分例子中,你似乎正在计算直到*下一个*半小时的剩余时间量。这不一定是最近的一个,因为这可能是在较早的时间。 – 2012-02-21 09:11:23
@MarkByers对不起,我的意思是“下一个”。 – Willem 2012-02-21 09:12:39
如果输入为“08:30”,输出应为“30”还是“0”? – 2012-02-21 09:15:25