Как задать 2 даты и посмотреть сколько времени между ними прошло.
Например:
01.01.2000 10:10:10
02.03.2005 20:10:20
и получить в ответ: 1 день 2 месяца 5 лет 10 часов 0 минут 10 секунд
И потом понадобится сортировка от самого большого времени к самому маленькому.
Пишу на Java 7.
Это легко сделать с помощью org.joda.time.Period
private static String strDiff(DateTime from, DateTime to) {
Period period = new Period(from, to, PeriodType.yearMonthDayTime());
return
period.getYears() + "y " +
period.getMonths() + "m " +
period.getDays() + "d " +
period.getHours() + "h " +
period.getMinutes() + "min " +
period.getSeconds() + "s" +
"";
}
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime start = formatter.parseDateTime("2017-04-03 03:00:00");
DateTime end = formatter.parseDateTime("2017-04-11 03:00:00");
System.out.println(strDiff(start, end));
}
Создайте два Date, потом возьмите из них время в миллисекундах и узнаете разницу. Затем парсите.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники