Я вставляю некоторые данные в базу данных Sqlite и проверяю перед вставкой, существует ли уже запись для этого дня.Чтобы проверить это, я должен увидеть, если количество дней> 0.Например, разница (в днях) между 2011-8-6 и 2011-8-5 равна 1. Как сделать это в Java?
РЕДАКТИРОВАТЬ: Как упоминалось @RayToal, это может быть сделано в базе данных, поэтому ясделал на этом пути:
SELECT julianday('now') - julianday(Date(Date)) from VIDEO_HISTORY;
Единственная проблема с этим заключается в том, что он дает мне десятичное число.Например: 3.3442346529103816 Теперь я должен решить внутри Java, если данное число 3 из 4 дней.Этот код предназначен для приложения, которое ищет в YouTube какой-то термин и записывает статистические данные о ежедневных просмотрах в базу данных.Пользователь может планировать работу, например, каждый день в 20:00.Но затем он мог решить перенести эту работу на 10:00, поэтому программа должна понять, что разница в один день.Так что очевидно, что мне нужно округлить до первого большего числа.Есть какой-то метод для этого, или я должен написать сам?
EDIT2: По ссылкам, предоставленным @ Michael-O, это лучшее решение (с использованием JodaTime):
DateTime start = new DateTime(new GregorianCalendar(2011, 8, 4).getTime());
DateTime end = new DateTime(new GregorianCalendar(2011, 8, 8).getTime());
int numberOfDays = Days.daysBetween(start.toDateMidnight(), end.toDateMidnight()).getDays();
System.out.println(numberOfDays);