2012-03-25 4 views
1

私は電車のスケジュールアプリを持っていて、次の形式のHH:MMで2つの時間の差を計算しようとしています。ユーザーは電車が遅れているかどうかを簡単に確認できます(注:インターネットから、それは最新です)。これは私が現時点でやっていることです:2回の差を計算するアルゴリズムは有効ですか?

//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をことを願っていますカントー、私は任意のサードパーティ製のLIBSを使用しないので、私は自分のアルゴリズムを記述する必要があります!

編集:注:この例では、hs/ms/hr/mrの値はハードコードされています。つまり、アプリでは、各行に対して正しく更新されています。

+0

日付とカレンダーは、第三部品ライブラリではありません。 – Blackbelt

答えて

1

これは、夏時間を除いて、任意の日、または任意の日の国境をはるかに分にします。

+0

よく電車が動いていないときに夏時間の節電が変更されているので、私はこれに本当に気をつけませんので、どんな検索でもこれを無視します:) – hundeva

1

あなたは(彼らはJavaのライブラリであり、AndroidのSDKに含まれ、サードパーティではありません)あなたが望むものを達成するためにJava DateCalendarDateFormatユーティリティクラスを使用する必要があります。

あなたはここで何をしたいのための素晴らしいexemple持っている:あなたはここで良い例を持ってDateFormatクラスの場合Is there a function to calculate the difference between two times and display a relative result?

を:http://www.exampledepot.com/egs/java.text/formatdate.html

+0

私はそれをチェックするつもりですが、 libsはかなり壊れていて、pplは第三者図書館を示唆しています...私は彼らが正しいのか分かりませんが、それが私自身の解決策を書く理由の一つです。とにかくThx! :) – hundeva

+0

いいえ、彼らはまったく壊れていません...あなたは本当にライブラリがあまりにも多く、デフォルトのJavaの一部が壊れていると本当に信じていますか?彼らはそうではなく、あなたが達成したいことに適しています。 – greven

+0

まあ、私はとにかく:) ...倍から倍に少しも被害妄想かもしれないが、私は必ずたかった、私はそうでない疑いがあるとしてもカントー、thoose噂が本当であるかないかどうかわかりませんでした。 – hundeva

関連する問題