我有一個火車時刻表應用程序,我想用下面的格式HH:MM來計算兩次之間的差異,所以我的用戶可以很容易地看到火車是否晚點(注意:我正在獲取「真實」數據來自互聯網,所以它是最新的)。這是我目前正在做的事情:計算兩次差異的有效算法?
//schedule time of the train
int hs=12;
int ms=0;
//real time of the train
int hr=12;
int mr=15;
int t1=hs*60 + ms;
int t2=hr*60 + mr;
int d; //integer for the difference in minutes
if(hr>=hs) d=t2-t1; //standard situation
else d=1440+t2-t1; //for situation like sch: 23:55, real: 00:05
這是正確的嗎?我忘了什麼嗎?我在這個算法之前做了幾次嘗試,他們都有小錯誤,這可能會讓我的用戶感到困惑。據我所知,這一個沒有任何小故障,至少我找不到任何問題。
P.S:我不會使用任何第三方庫,所以我必須寫我自己的算法,儘管我希望這將是最後的...
THX!
編輯:注意:在這個例子中,hs/ms/hr/mr的值是硬編碼的,在我的應用程序中,我已經正確更新了每行的值。
日期和日曆不是第三方庫。 – Blackbelt 2012-03-25 15:01:06