Расчет срока между датами

430
23 декабря 2016, 12:31

Помогите решить задачу.

Необходимо рассчитать, прошел срок оплаты по штрафу или нет (70 дней).

Допустим сегодня 23 декабря, штраф был 15 октября, программа должна показать прошло 70 дней или нет, и как то это обозначить?

Answer 1

70 дней – это 6048000000 миллисекунд.

Далее элементарно (нумерация месяцев начинается с нуля):

private boolean isOverdue(int year, int month, int date, int hour, int minute) {
    Calendar curDate = Calendar.getInstance();
    Calendar fineDate = Calendar.getInstance();
    fineDate.set(year, month, date, hour, minute);
    return curDate.getTimeInMillis() - fineDate.getTimeInMillis() > 6048000000L;
}

В метод передается дата штрафа. Метод вычисляет количество миллисекунд между датой штрафа и текущей датой, и, в зависимости от результата возвращает соответствующее логическое значение.

Не забудьте добавить проверку на корректность дат.

PS. Если используете Java 8, то, с помощью java.time, требуемое можно получить несколько проще.

Answer 2

Советую вам изучить вот эту страничку http://developer.alexanderklimov.ru/android/java/date.php

READ ALSO
Пропал автокомплит при написании sass в sublime-text

Пропал автокомплит при написании sass в sublime-text

Недавно начал использовать sass в sublime-text, так вот скажем при указании какого нибудь background-image пропал привычный автокомплит при выборе изображенияС...

420
Высота страницы html

Высота страницы html

Прошу не закидывать меня тухлыми яйцами сразу, вопрос касательно верстки, стоит задача реализовать сайт на котором страница будет помещаться...

347
Анимированное появление блока

Анимированное появление блока

Добрый деньХочу реализовать анимацию появления блока при клике

346