java berechnen die Zeit zwischen zwei timestamps
Ich brauche zu berechnen, verging die Zeit zwischen zwei Terminen.
Den Haken an der Sache ist, dass ich brauchen, um es zu zeigen, wie YouTube mit seinen video-Kommentare Zeitstempel. Das ist, zu zeigen, indem Sie nur die größten zu Messen.
Beispielsweise
- wenn die Zeit von 50 Sekunden, es sollte sagen, 50 Sekunden her.
- wenn die Zeit mehr als eine minute, es sollte sagen, eine minute vor/zehn Minuten etc..
- wenn der Zeitunterschied 1 Stunde 30 Minuten sollten es zeigen: eine Stunde vor.
- wenn die Zeit, die ist ein und eine halbe Woche, als Sie sollten sagen, vor einer Woche.
- wenn die Zeit mehr als ein Monat, es sollte sagen, vor einem Monat/zwei Monaten etc...
- und so weiter und so weiter..
Also, was ist der beste Weg, dies zu behandeln?
Sollte ich eine Methode mit case
oder if
Aussagen, die etwas zurückgeben wollen? Oder gibt es eine bessere Lösung (vielleicht eine Bibliothek, die schon etwas tut, wie es)?
InformationsquelleAutor DArkO | 2011-05-30
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden DateUtils.getRelativeTimeSpanString(lange, lange, lange minResolution).
time
ist die Startzeit und dienow
ist die end-Zeit (in Millisekunden). Zum Bericht "Sekunden," minResolution auf null.Beispiel:
Perfekte Antwort, aber der return-Typ ist CharSequence, nicht String. Also, entweder ändern Sie Ergebnis ist Typ CharSequence, oder type-cast.
wie bekomme ich die Anzahl der Tage zwischen zwei timestamps ?
Perfekte Antwort!
Danke. Gerade gespeichert haben mich zu tun, eine Menge Arbeit
InformationsquelleAutor user775598
Diese werden Sie wieder die Zeit in Millisekunden zwischen 2 Terminen. Einfach konvertieren, zu was auch immer Sie zeigen möchten (z.B. Stunden, Minuten und Sekunden)
InformationsquelleAutor RMT
Auf Android, verwenden Sie diese: http://developer.android.com/reference/android/text/format/DateUtils.html#getRelativeTimeSpanString%28android.content.Context,%20long,%20boolean%29
InformationsquelleAutor Femi
Werfen Sie einen Blick auf PrettyTime!
Außerdem, jedes mal wenn Sie wollen etwas tun, um Datum/Zeit-Verwandte, in Java, sollten Sie einen Blick auf Joda Time. Tun Sie es jetzt, Sie werden es mir später danken.
InformationsquelleAutor Pål Brattberg
Ihren Bedarf sehr spezifisch ist, und ich kenne keine lib, die lösen das problem für Sie aus der box.
Aber das problem ist nicht sehr Komplex und eine kleine Funktion, die voller "wenns" sollte den trick tun.
Natürlich, ein nettes date Bibliothek wie Joda Zeit wird Ihnen helfen, halten Sie Ihren code sauber. Wer will GregorianCalendar!?
InformationsquelleAutor solendil
Sieht aus wie Sie haben eine Reihe von benutzerdefinierten Regeln, und der Algorithmus zu wählen, eine Regel basierend auf dem Zeit in Sekunden zwischen zwei Zeitstempeln. Der einfachste Ansatz ist, behandeln die Regeln in einer Reihe von if/else if-Anweisungen:
InformationsquelleAutor Andreas_D