Verwenden Sie, um die verstrichene Zeit mit JodaTime zu berechnen Period
. Verwenden PeriodFormatter
Sie diese Option, um die verstrichene Zeit in der gewünschten menschlichen Darstellung zu formatierenPeriodFormatterBuilder
.
Hier ist ein Kickoff-Beispiel:
DateTime myBirthDate = new DateTime(1978, 3, 26, 12, 35, 0, 0);
DateTime now = new DateTime();
Period period = new Period(myBirthDate, now);
PeriodFormatter formatter = new PeriodFormatterBuilder()
.appendSeconds().appendSuffix(" seconds ago\n")
.appendMinutes().appendSuffix(" minutes ago\n")
.appendHours().appendSuffix(" hours ago\n")
.appendDays().appendSuffix(" days ago\n")
.appendWeeks().appendSuffix(" weeks ago\n")
.appendMonths().appendSuffix(" months ago\n")
.appendYears().appendSuffix(" years ago\n")
.printZeroNever()
.toFormatter();
String elapsed = formatter.print(period);
System.out.println(elapsed);
Dies wird jetzt gedruckt
Vor 3 Sekunden
Vor 51 Minuten
vor 7 Stunden
Vor 6 Tagen
vor 10 Monaten
Vor 31 Jahren
(Husten, alt, Husten) Sie sehen, dass ich auch Monate und Jahre berücksichtigt und so konfiguriert habe, dass die Werte weggelassen werden, wenn diese Null sind.