java计算当前月的第几周,及周的起止日期/月及月的起止日期

 1 public static void printWeeks() {
 2         SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd");
 3         Calendar calendar = Calendar.getInstance();
 4         calendar.set(Calendar.DATE, 1);
 5         int month = calendar.get(Calendar.MONTH);
 6         int count = 0;
 7         while (calendar.get(Calendar.MONTH) == month) {
 8             if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
 9                 StringBuilder builder = new StringBuilder();
10                 builder.append("week:");
11                 builder.append(++count);
12                 builder.append(" (");
13                 builder.append(format.format(calendar.getTime()));
14                 builder.append(" - ");
15                 calendar.add(Calendar.DATE, 6);
16                 builder.append(format.format(calendar.getTime()));
17                 builder.append(")");
18                 System.out.println(builder.toString());
19             }
20             calendar.add(Calendar.DATE, 1);
21         }
22     }

 打印结果:

月:

 1 Calendar calendar = Calendar.getInstance();
 2         int year = calendar.get(Calendar.YEAR);
 3         calendar.clear();
 4         //当年元月
 5         calendar.set(Calendar.YEAR, year);
 6         calendar.set(Calendar.MONTH, 0);
 7         
 8         while (calendar.get(Calendar.YEAR) == year) {
 9             String outPrint = "";
10             outPrint += year+"年";
11             int month = calendar.get(Calendar.MONTH);
12               //月起始时间
13               calendar.set(GregorianCalendar.DAY_OF_MONTH, 1);   
14               String monthStart = format.format(calendar.getTime());
15               outPrint += monthStart;
16               outPrint += " - ";
17             //月终止时间
18             calendar.set( Calendar.DATE, 1 );  
19             calendar.roll(Calendar.DATE, - 1 );
20             String monthEnd = format.format(calendar.getTime());
21               outPrint += monthEnd;
22             System.out.println(outPrint);
23             calendar.add(Calendar.MONTH, 1);
24         }

打印结果

转载于:https://www.cnblogs.com/yuanhui69/p/3526619.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值