java – 在JSR-310中查找星期几的下一个发生
发布时间:2020-12-14 06:05:15 所属栏目:Java 来源:网络整理
导读:给定一个JSR-310对象,如LocalDate,我如何找到下个星期三(或任何其他星期几)的日期? LocalDate today = LocalDate.now();LocalDate nextWed = ??? 解决方法 答案取决于你对“下周三”的定义;-) JSR-310提供了使用TemporalAdjusters类的两个选项. 第一个选项
给定一个JSR-310对象,如LocalDate,我如何找到下个星期三(或任何其他星期几)的日期?
LocalDate today = LocalDate.now(); LocalDate nextWed = ??? 解决方法
答案取决于你对“下周三”的定义;-)
JSR-310提供了使用TemporalAdjusters类的两个选项. 第一个选项是next(): LocalDate input = LocalDate.now(); LocalDate nextWed = input.with(TemporalAdjusters.next(DayOfWeek.WEDNESDAY)); 第二个选项是nextOrSame(): LocalDate input = LocalDate.now(); LocalDate nextWed = input.with(TemporalAdjusters.nextOrSame(DayOfWeek.WEDNESDAY)); 两者根据输入日期的星期几不同. 如果输入日期为2014-01-22(星期三),则: > next()将在一周之后返回2014-01-29 如果输入日期为2014-01-20(星期一),则: > next()将返回2014-01-22 即. next()总是返回一个更晚的日期,而nextOrSame()将返回输入日期,如果它匹配. 请注意,两个选项看起来都比静态导入更好: LocalDate nextWed1 = input.with(next(WEDNESDAY)); LocalDate nextWed2 = input.with(nextOrSame(WEDNESDAY)); TemporalAdjusters还包括匹配previous()和previousOrSame()方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |