Java 在JSR-310中查找一周中某一天的下一个事件
给定一个JSR-310对象,例如Java 在JSR-310中查找一周中某一天的下一个事件,java,datetime,java-8,java-time,Java,Datetime,Java 8,Java Time,给定一个JSR-310对象,例如LocalDate,如何查找下周三(或一周中的任何其他日子)的日期 LocalDate today = LocalDate.now(); LocalDate nextWed = ??? 答案取决于你对“下周三”的定义——) JSR-310使用该类提供了两个选项 第一种选择是: 第二种选择是: 根据输入日期是星期几,两者有所不同 如果输入日期为2014-01-22(星期三),则: next()将在一周后返回2014-01-29 nextOrSame()将返回20
LocalDate
,如何查找下周三(或一周中的任何其他日子)的日期
LocalDate today = LocalDate.now();
LocalDate nextWed = ???
答案取决于你对“下周三”的定义——) JSR-310使用该类提供了两个选项 第一种选择是: 第二种选择是: 根据输入日期是星期几,两者有所不同 如果输入日期为2014-01-22(星期三),则:
将在一周后返回2014-01-29next()
将返回2014-01-22,与输入相同nextOrSame()
将返回2014-01-22next()
将返回2014-01-22nextOrSame()
next()
总是返回一个更晚的日期,而nextOrSame()
将返回匹配的输入日期
请注意,使用静态导入时,这两个选项看起来都更好:
LocalDate nextWed1 = input.with(next(WEDNESDAY));
LocalDate nextWed2 = input.with(nextOrSame(WEDNESDAY));
temporaladjusts
还包括匹配的previous()
和previousorname()
方法
LocalDate input = LocalDate.now();
LocalDate nextWed = input.with(TemporalAdjusters.nextOrSame(DayOfWeek.WEDNESDAY));
LocalDate nextWed1 = input.with(next(WEDNESDAY));
LocalDate nextWed2 = input.with(nextOrSame(WEDNESDAY));