Tag: 之间的

日期范围中的日期范围

实际上这个任务对我来说似乎很容易,但我有点卡住了,并会感谢一些提示:D 我有一些有开始和结束时间的事件 – 我想创建一个包含日历周的表格。 因此,我写了一个方法来检查一个事件是否在本周内为它着色如下: private boolean inWeek(Date date, Entry pe) { return ((pe.getStartsAt().after(Util.firstDayOfWeek(date)) || pe.getStartsAt().equals(Util.firstDayOfWeek(date))) && (pe.getEndsAt().before(Util.lastDayOfWeek(date)) || pe.getEndsAt().equals(Util.lastDayOfWeek(date)))); } 如果事件持续一周,这个案子还可以。 但如果事件在本周之前开始,或在本周之后结束甚至持续数周,该怎么办? 它变得非常复杂,我目前的解决方案是: private boolean inWeek(Date date, Entry pe) { return ( pe.getStartsAt().after(Util.firstDayOfWeek(date)) && pe.getEndsAt().after(Util.firstDayOfWeek(date)) && pe.getEndsAt().before(Util.lastDayOfWeek(date)) ) || ( pe.getStartsAt().before(Util.lastDayOfWeek(date)) && pe.getStartsAt().after(Util.firstDayOfWeek(date)) && pe.getEndsAt().after(Util.lastDayOfWeek(date)) ) || ( pe.getStartsAt().after(Util.firstDayOfWeek(date)) && pe.getEndsAt().before(Util.lastDayOfWeek(date)) ) || ( […]