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
需要两个步骤:
- 将每个日期字符串解析为
LocalDate
.
- 使用
ChronoUnit.DAYS.between()
获取两个日期之间的天数差异。
作为一个可能更好的选择,您可以寻找与 java.time、现代 Java 日期和时间 API 集成的日期选择器组件,这样您就不会需要自己解析字符串。
链接
- SourceForge
JDatePicker
.
- Oracle tutorial: Date Time 解释如何使用 java.time.
我用几个 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
需要两个步骤:
- 将每个日期字符串解析为
LocalDate
. - 使用
ChronoUnit.DAYS.between()
获取两个日期之间的天数差异。
作为一个可能更好的选择,您可以寻找与 java.time、现代 Java 日期和时间 API 集成的日期选择器组件,这样您就不会需要自己解析字符串。
链接
- SourceForge
JDatePicker
. - Oracle tutorial: Date Time 解释如何使用 java.time.