2017-04-11 7 views
0

2つの日付間の差を計算する場合、この差が0より大きく、< 50分の場合、次のテキストでテキストビューを表示します。 差が< 0(遅れている)の場合、テキストビューに「X分遅れ」と表示されます。ユーザーが遅れているときの時間差

今のところすべてが最初の状態で機能しますが、2番目の状態ではすべて機能しますが、その数字は時には740分遅れかそれ以上の数字を示すことがあります

Date fechaactual = new Date(); 
long diff = trackingfecha.getTime() - fechaactual.getTime(); 
long diferenciaminutos = diff/(60 * 1000); 
RunneableUpdateUI run = new RunneableUpdateUI(); 
if(diferenciaminutos < 50) { 
    if(diferenciaminutos >= 0) { 
     //Show the minutes close to some specific time 
     StringBuffer buffer = new StringBuffer(); 
     buffer.append("te quedan "); 
     String minutes = String.format("%02d", diferenciaminutos); 
     buffer.append(minutes); 
     buffer.append(" min"); 
     run.toUpdateValue = buffer.toString(); 
    } else { 
     //Here is the problem 
     StringBuffer buffer = new StringBuffer(); 
     String minutes = String.format("%02d", Math.abs(diferenciaminutos)); 
     buffer.append(minutes); 
     buffer.append(" min tarde"); 
     run.toUpdateValue = buffer.toString(); 
    } 
    timerHandler.post(run); 
} 
+0

なぜ740分遅れることはできませんか? –

+0

これは、ユーザーがちょうど2時間ほど遅くても12時間もかからない場合に発生します –

答えて

-1
if (0<=x && x < 50) 
     { 
      // x time to reach 
     } 
     else 
     { 
      if (0> x) 
      { 
       // late 
      } 
     } 

    } 

ここでxはあなたの時差です