我有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))。
请注意,开始日期和结束日期来自两个不同的变量。
有人可以帮我吗
答案 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 8及更高版本中。这些类取代了麻烦的旧legacy日期时间类,例如java.util.Date
,Calendar
和SimpleDateFormat
。
目前位于Joda-Time的maintenance 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中添加内容提供了一个试验场。您可能会在这里找到一些有用的类,例如Interval
,YearWeek
,YearQuarter
和more。
答案 1 :(得分:1)
一种方法是创建一个自定义类(MyDateSets
),该类包含一组开始日期和结束日期。类的equals
方法(覆盖Object
的{{1}})指定日期集的相等性。
示例代码:
equals