JAVA获取一年中所有的周末

代码如下:

public class test {

    public static void main(String[] args) {
        String year = "2016";
        Calendar c = Calendar.getInstance();
        c.set(Integer.parseInt(year), 0, 1);
        Calendar c2 = Calendar.getInstance();
        c2.set(Integer.parseInt(year) + 1, 0, 1);
        int count = 0;
        while (c.compareTo(c2) < 0) {
            if (c.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || c.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
                System.out.println(c.get(Calendar.YEAR) + "-" + (c.get(Calendar.MONTH) + 1) + "-"
                        + c.get(Calendar.DAY_OF_MONTH));
                count++;
            }
            // 日期+1
            c.add(Calendar.DATE, 1);
        }
        System.out.println("共" + count + "条记录");
    }

}

注意:月份是从0开始计算的,所以显示时要+1

输出结果:

2016-1-2
2016-1-3
2016-1-9
2016-1-10
2016-1-16
2016-1-17
2016-1-23
2016-1-24
2016-1-30
2016-1-31
2016-2-6
2016-2-7
2016-2-13
2016-2-14
2016-2-20
2016-2-21
2016-2-27
2016-2-28
2016-3-5
2016-3-6
2016-3-12
2016-3-13
2016-3-19
2016-3-20
2016-3-26
2016-3-27
2016-4-2
2016-4-3
2016-4-9
2016-4-10
2016-4-16
2016-4-17
2016-4-23
2016-4-24
2016-4-30
2016-5-1
2016-5-7
2016-5-8
2016-5-14
2016-5-15
2016-5-21
2016-5-22
2016-5-28
2016-5-29
2016-6-4
2016-6-5
2016-6-11
2016-6-12
2016-6-18
2016-6-19
2016-6-25
2016-6-26
2016-7-2
2016-7-3
2016-7-9
2016-7-10
2016-7-16
2016-7-17
2016-7-23
2016-7-24
2016-7-30
2016-7-31
2016-8-6
2016-8-7
2016-8-13
2016-8-14
2016-8-20
2016-8-21
2016-8-27
2016-8-28
2016-9-3
2016-9-4
2016-9-10
2016-9-11
2016-9-17
2016-9-18
2016-9-24
2016-9-25
2016-10-1
2016-10-2
2016-10-8
2016-10-9
2016-10-15
2016-10-16
2016-10-22
2016-10-23
2016-10-29
2016-10-30
2016-11-5
2016-11-6
2016-11-12
2016-11-13
2016-11-19
2016-11-20
2016-11-26
2016-11-27
2016-12-3
2016-12-4
2016-12-10
2016-12-11
2016-12-17
2016-12-18
2016-12-24
2016-12-25
2016-12-31
共105条记录

 

转载于:https://my.oschina.net/u/2968713/blog/775297

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值