JDatePicker 日期差异 Java

JDatePicker Date difference in Java

我用几个 JDatePicker 对象创建了一个 GUI。现在我正在尝试计算两个 JDatePicker 日期之间的差异。但我不知道如何开始。谁能帮帮我吗? JDatePicker 中的日期是一个 String 对象。我想我需要将 String 转换为日期对象,然后将其转换为长对象。我走的路对吗?

    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 集成的日期选择器组件,这样您就不会需要自己解析字符串。

链接