2017-04-11 3 views
0

Ich möchte die Differenz in Minuten zwischen zwei Daten berechnen, wenn diese Differenz> 0 und < 50 Minuten ist, zeige ich eine Textansicht mit dem nächsten Text: "X bis zur Grenze" (es ist pünktlich, aber ist bis an die Grenze) Nähe Wenn die Differenz < 0 (es ist spät) die Textview sollte „X Minuten zu spät“, sagenZeitunterschied, wenn Benutzer zu spät ist, Tracking

Gerade jetzt für die erste Bedingung alles funktioniert, aber für die zweite, die Zahl zeigt manchmal 740 Minuten zu spät oder größere Zahlen

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

Warum kann es nicht 740 Minuten zu spät sein? –

+0

Dies geschieht, wenn der Benutzer nur für ein paar Stunden, nicht fast 12 Stunden zu spät kommt –

Antwort

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

    } 

wo x ist Ihre Zeit Diffrent