Я должен вычислить, время протекло с одной определенной даты до настоящего времени, и отобразите ее с тем же форматом как вопросы о StackOverflow, т.е.:
15s ago
2min ago
2hours ago
2days ago
25th Dec 08
Вы знаете, как достигнуть его с библиотекой Java Joda-Time? Существует ли вспомогательный метод там, который уже реализует его, или я должен записать алгоритм сам?
Это можно сделать с помощью метода setCategureMargin () на оси домена.
Например, для графика категории
CategoryPlot plot = chart.getCategoryPlot();
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryMargin(0.15f);
Вам нужно будет играть с различными значениями для поля, чтобы найти правильное значение для графика.
-121--4817952-НЕТ , Git просто не хранит такую (мета-) информацию , если вы не используете сторонние инструменты, такие как метастор или git-cache-meta. Единственной временной меткой, которая сохраняется, является время создания исправления/изменения (время автора) и время фиксации (время фиксатора).
Это по конструкции, поскольку Git - это система управления версиями, а не утилита резервного копирования или средство синхронизации.
-121--898651- Чтобы рассчитать прошедшее время с помощью JodaTime, используйте Период
. Для форматирования прошедшего времени в требуемом человеческом представлении используйте PeriodFormatter
, который можно создать с помощью PeriodFormatterBuilder
.
Вот пример:
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);
Это отпечаток к настоящему времени
3 seconds ago 51 minutes ago 7 hours ago 6 days ago 10 months ago 31 years ago
(Кашель, старый, кашель) Вы видите, что я принял во внимание месяцы и годы и настроил его, чтобы опустить значения, когда они равны нулю.