Я использую библиотеку Joda получить период времени прошло с заданной отметкой времени:Приблизительное время Период с Joda-Time
public static String getTimePassedSince(Date initialTimestamp){
DateTime initDT = new DateTime(initialTimestamp.getTime());
DateTime now = new DateTime();
Period p = new Period(initDT, now);
PeriodFormatter formatter = new PeriodFormatterBuilder()
.appendYears().appendSuffix(" year, ", " years, ")
.appendMonths().appendSuffix(" month, ", " months, ")
.appendDays().appendSuffix(" day, ", " days, ")
.appendHours().appendSuffix(" hour, ", " hours, ")
.appendMinutes().appendSuffix(" minute, ", " minutes, ")
.appendSeconds().appendSuffix(" second, ", " seconds")
.printZeroNever()
.toFormatter();
return formatter.print(p);
}
Функция возвращает точное время периода строки для заданных временных меток. Например:
3 minutes, 23 seconds
1 hour, 30 minutes, 57 seconds
1 day, 23 hours, 21 minutes, 19 seconds
Есть ли способ, которым я могу получить приблизительное время, а не точное? Например, если минута и 30 секунд прошли с initialTimestamp
, она возвращает 1.5 minutes
. Аналогично, если час и 35 минут прошли, он возвращает about 1.5 hours
вместо 1 часа, 35 минут, xy секунд.
Я знаю, что возвращаемая строка может быть проанализирована и обработана, но я ищу что-то более сложное.
3 часа и 48 минут должно быть 4 часа, так как это пропуск 3:30 (или 3,5) – jmateo