我想計算剩下的幾分鐘到「下一個」半小時或一小時。如何計算剩餘分鐘數到「下一個」半小時或一小時?
說我得到一個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