Java Calendar

万年历

1.根据年月确定月份的天数

public class Wangnl {


public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
System.out.println("请输入年份");
int year=input.nextInt();
System.out.println("请输入月份");
int month=input.nextInt();

Calendar a = Calendar.getInstance();//实例化一个Calendar对象。
a.set(Calendar.YEAR, year);//设定年为指定的输入年份。
a.set(Calendar.MONTH, month - 1);//设定月为指定的输入月份,0-11代表1-12月。
a.set(Calendar.DATE, 1);//一个月中第一天的值为 1,指定为每月第一天。
int firstday= a.get(Calendar.DAY_OF_WEEK);//获得指定年月第一天的星期几。
a.roll(Calendar.DATE, -1);/*roll只作用于对应的时间属性,此处只作用于DATE,MONTH的值不变。*/
int lastday = a.get(Calendar.DATE); //通过设置set和roll方法,得到指定年月的最后一天。
System.out.println(month+"月有"+lastday+"天");
String[] day={"日","一","二","三","四","五","六"};
for(String date : day){
System.out.print(date+"\t");
}
System.out.println();
int[] date=new int[lastday];
int b=0;
for(int i=0;i<lastday;i++){
date[i]=++b;
}
for(int i=1;i<firstday;i++){
System.out.print("\t");
}
int count=firstday-1;
for(int i : date){
System.out.print(i+"\t");
count++;
if(count%7==0){
System.out.println();
}
}

}
}

 
 
运行程序:
a.roll(Calendar.DATE, -1);//在本例中,设置为2015年10月最后-天。-1代表(日-1)
2015-10-1调用后2015-10-31;
a.add(Calendar.DATE, -1);//如果改为add方法,则为2015年9月最后一天。
//add方法同时影响月份。
2015-10-1调用后2015-9-30





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值