Wie man den Unterschied zwischen 2 mal in android

Will ich finden, die Differenz zwischen der aktuellen Systemzeit und Daten eingefügt&time String. Ich habe dies ausprobiert:

 try {

            String strFileDate = "2012-04-19 15:15:00";
            DateFormat formatter2 = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
            Date date = formatter2.parse(strFileDate);
            long difference = date.getTime() - System.currentTimeMillis();
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(difference);
            Toast.makeText(getBaseContext(),
                    formatter2.format(calendar.getTime()), Toast.LENGTH_LONG)
                    .show();
        } catch (Exception e) {
            //TODO Auto-generated catch block
            e.printStackTrace();
        } 

aber es gibt mir nicht das richtige Ergebnis. Mache ich es richtig?

Update

Versuchte ich Folgendes ::

String strFileDate = "2012-04-19 15:15:00";
            DateFormat formatter2 = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
            Date date = formatter2.parse(strFileDate);
            long diffInMs = date.getTime()
                    - new Date(System.currentTimeMillis()).getTime();

            long diffInSec = TimeUnit.MILLISECONDS.toSeconds(diffInMs);

            long hour = diffInSec / (1000 * 60 * 60);
            double minutes = diffInSec / (1000 * 60);
            //long diffInHour = TimeUnit.to(diffInMs);

            Toast.makeText(getBaseContext(),
                    "left time is :: " + hour + ":" + minutes,
                    Toast.LENGTH_LONG).show();

Ausgabe::
Links Zeit:: -2 : -131.0

UPdate(20/4/2012)

try {
            Date dt = new Date();
            String strFileDate = "2012-04-20 13:10:00";
            DateFormat formatter2 = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
            Date date = formatter2.parse(strFileDate);
            String s = getTimeDiff(dt, date);
            Log.i("Date is :: >>> ", s);
        } catch (Exception e) {
            e.printStackTrace();
        }
 public String getTimeDiff(Date dateOne, Date dateTwo) {
        String diff = "";
        long timeDiff = Math.abs(dateOne.getTime() - dateTwo.getTime());
        diff = String.format("%d hour(s) %d min(s)", TimeUnit.MILLISECONDS.toHours(timeDiff),
                TimeUnit.MILLISECONDS.toMinutes(timeDiff) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(timeDiff)));
        return diff;

}

Ausgabe::
04-20 12:48:06.629:
INFO/Datum :: >>>(1295): 2183 Stunde(N) 38 Minute(s)

  • ich will mal différance in Minuten und Stunden..
  • Was nicht funktioniert? Was erwarten Sie, um zu sehen, in der Toast? Was erwarten Sie sich von diesem snippet? Calendar Kalender = Calendar.getInstance(); calendar.setTimeInMillis(Differenz); Bitte geben Sie weitere details.
  • Kasse diese Frage. stackoverflow.com/questions/635935/...
  • ich update mein code bitte überprüfen Sie es
  • ersetzen Sie lange diffInMs = Datum.getTime() - new Date(System.currentTimeMillis()).getTime(); mit langen diffInMs = new Date(System.currentTimeMillis()).getTime() - Datum.getTime();
  • FYI, ist die lästige alte Datum-Zeit-Klassen wie java.util.Date, java.util.Calendar, und java.text.SimpleDateFormat sind jetzt legacy, überlagert von der java.Zeit Klassen gebaut in Java 8 & Java 9. Siehe Tutorial von Oracle.

InformationsquelleAutor user1343673 | 2012-04-19
Schreibe einen Kommentar