比较多组日期周期

时间:2018-08-03 22:41:55

标签: java datetime comparison

我有3套开始日期和结束日期 1st-开始日期(01/25/2017)和结束日期(02/26/2017) 第二组(2017年1月25日)和结束日期(2017年2月26日) 3rd-set(03/25/2017)and end date(04/26/2017)。

我想编写一个Java程序来比较这三个集合,并给我两个相等的集合(((01/25/2017)-(02/26/2017))。

请注意,开始日期和结束日期来自两个不同的变量。

有人可以帮我吗

2 个答案:

答案 0 :(得分:1)

org.threeten.extra.LocalDateRange::equals

请参见ThreeTen-Extra项目中的LocalDateRange类及其equals方法。此方法将一个LocalDateRange与另一个LocalDateRange.of( LocalDate.of( 2017 , Month.JANUARY , 25 ) , LocalDate.of( 2017 , Month.FEBRUARY , 26 ) // Returns a `LocalDate` object. ) // Returns a `LocalDateRange` object. .equals( LocalDateRange.of( LocalDate.of( 2017 , Month.MARCH , 25 ) , LocalDate.of( 2017 , Month.APRIL , 26 ) ) ) 进行比较,以确保这对日期相同。

该类取决于Java 8及更高版本中内置的java.time.LocalDate类。该课程在该站点上已有数百次报道。因此,搜索Stack Overflow以获取更多信息。

ChronoUnit.DAYS::between
  

false

ChronoUnit

如果要比较经过的天数,请使用ChronoUnit.DAYS.between( LocalDate.of( 2017 , Month.JANUARY , 25 ) , LocalDate.of( 2017 , Month.FEBRUARY , 26 ) ) // Returns a `long` integer primitive. == ChronoUnit.DAYS.between( LocalDate.of( 2017 , Month.MARCH , 25 ) , LocalDate.of( 2017 , Month.APRIL , 26 ) ) 枚举。

java.sql.*

关于 java.time

java.time框架已内置在Java 8及更高版本中。这些类取代了麻烦的旧legacy日期时间类,例如java.util.DateCalendarSimpleDateFormat

目前位于Joda-Timemaintenance mode项目建议迁移到java.time类。

要了解更多信息,请参见Oracle Tutorial。并在Stack Overflow中搜索许多示例和说明。规格为JSR 310

您可以直接与数据库交换 java.time 对象。使用符合JDBC driver或更高版本的JDBC 4.2。不需要字符串,不需要EXPOSE 8001 CMD ["python", "manage.py", "runserver", "0.0.0.0:8001"] 类。

在哪里获取java.time类?

ThreeTen-Extra项目使用其他类扩展了java.time。该项目为将来可能在java.time中添加内容提供了一个试验场。您可能会在这里找到一些有用的类,例如IntervalYearWeekYearQuartermore

答案 1 :(得分:1)

一种方法是创建一个自定义类(MyDateSets),该类包含一组开始日期和结束日期。类的equals方法(覆盖Object的{​​{1}})指定日期集的相等性。

示例代码:

equals