动态日历
简介
使用Calendar类中的方法实现一个动态的日历。
Calendar类的用法以及方法
Calendar是一个抽象类,不能创建对象。想日历获取日历需要用它的静态方法getInstance()
- set() 可以设置日历字段中的值或者将给定的日历字段设置为给定的值。
- get() 返回给定日历字段的值,返回的是int
- getActualMaximum(int field) 返回某月的最大值,返回类型是int
实现过程
public class Calendars {
Calendar c = Calendar.getInstance();
public void show(int y,int m)
{
//设置年月
c.set(Calendar.YEAR, y);
//月份是从0开始到11月所有减1
c.set(Calendar.MONTH,m-1);
//得到一个月多少天
int day = c.getActualMaximum(Calendar.DAY_OF_MONTH);
//设置m月的第一天是星期几
c.set(Calendar.DAY_OF_MONTH,1);
//得到m月的第一天是星期几,星期从星期天开始所有减1
int week = c.get(Calendar.DAY_OF_WEEK)-1;
int space = week-1;
System.out.println("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期天\t");
int count =0;
for(int i =0;i<space;i++)
{
System.out.print("\t");
count++;
}
for(int i = 1;i<=day;i++)
{
System.out.print(i+"\t");
count++;
if(count % 7 == 0)
System.out.println();
}
}
public static void main(String[] args) {
new Calendars().show(2019, 7);
}
}