Java:计算区间日期

问题

计算2016-02-22 到 2017-02-22 的每周星期三 具体是哪一天

java标志
image-2422

实现

需使用JDK1.8或以上.


import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

/**
* 计算 2016-2-22 到 2017-2-22 的每周星期三 具体是哪一天
*
* @author puruidong
* @version 2016.2.22
*/
public class Main {
public static void main(String[] args) {
//他想计算 2016-2-22 到 2017-2-22 的每周星期三 具体是哪一天
LocalDate localDate = LocalDate.parse("2016-02-22");
LocalDate endDate = LocalDate.parse("2017-02-22");
List lists = new ArrayList<>();
while (localDate.isBefore(endDate)) {
if (localDate.getDayOfWeek().getValue() == 3)
lists.add(localDate);
localDate = localDate.plusDays(1);
}
System.out.println("所有周三的日期,共有"+lists.size()+"天,具体如下:");
lists.forEach(x -> System.out.println(x));
}
}

运行结果:

所有周三的日期,共有52天,具体如下:
2016-02-24
2016-03-02
2016-03-09
2016-03-16
2016-03-23
2016-03-30
2016-04-06
2016-04-13
2016-04-20
2016-04-27
2016-05-04
2016-05-11
2016-05-18
2016-05-25
2016-06-01
2016-06-08
2016-06-15
2016-06-22
2016-06-29
2016-07-06
2016-07-13
2016-07-20
2016-07-27
2016-08-03
2016-08-10
2016-08-17
2016-08-24
2016-08-31
2016-09-07
2016-09-14
2016-09-21
2016-09-28
2016-10-05
2016-10-12
2016-10-19
2016-10-26
2016-11-02
2016-11-09
2016-11-16
2016-11-23
2016-11-30
2016-12-07
2016-12-14
2016-12-21
2016-12-28
2017-01-04
2017-01-11
2017-01-18
2017-01-25
2017-02-01
2017-02-08
2017-02-15

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据