JDatePicker Разница в датах в Java - PullRequest
0 голосов
/ 23 февраля 2020

Я создал GUI с несколькими объектами JDatePicker. Сейчас я пытаюсь вычислить разницу между двумя датами JDatePicker. Но я понятия не имею, как начать. Кто-нибудь может мне помочь? Дата в JDatePicker является объектом String. Я думаю, мне нужно преобразовать строку в объект даты, а затем преобразовать его в длинный объект. Я на правильном пути?

1 Ответ

1 голос
/ 24 февраля 2020
    Locale.setDefault(Locale.UK); // So that other readers can run the example; don’t include in your production code

    DateTimeFormatter dateFormatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);

    String dateString1FromJDatePicker = "24 November 2019";
    String dateString2FromJDatePicker = "29 February 2020";

    LocalDate from = LocalDate.parse(dateString1FromJDatePicker, dateFormatter);
    LocalDate to = LocalDate.parse(dateString2FromJDatePicker, dateFormatter);
    long difference = ChronoUnit.DAYS.between(from, to);

    System.out.println(difference);

Выходные данные этого примера кода:

97

Требуется два шага:

  1. Разбор каждого Строка даты в LocalDate.
  2. Используйте ChronoUnit.DAYS.between() для получения разницы в днях между двумя датами.

В качестве возможно лучшей альтернативы вы можете найти средство выбора даты компонент, который интегрирован с java .time, современным Java API даты и времени, так что вам не нужно анализировать строку самостоятельно.

Links

...