用java中的GregorianCalendar输出日历
格式如:
public static void main(){
//日历上的总天数(共42天)
int totalDay = 0;
//日历构造器,构造当前日期
GregorianCalendar gcl = new GregorianCalendar();
//获得今天是本月的第几天
int today = gcl.get(Calendar.DAY_OF_MONTH);
//设置日历为本月第一天
gcl.set(Calendar.DAY_OF_MONTH, 1);
//得到本月的第一天是星期几
int weekday = gcl.get(Calendar.DAY_OF_WEEK);
//设置日历的开始日期
//如果本月的第一天(即1号)是星期日
//则日历的开始日期为1号,如果本月的第一天(即1号)是星期一
//则日历的开始日期向后退1天,以此类推
gcl.add(Calendar.DAY_OF_MONTH, -(weekday-1));
//输出头部的星期
System.out.println("Sun Mon Tue Wed Thu Fri Sat");
while(true){
int day = gcl.get(Calendar.DAY_OF_MONTH);
//输出日期,宽度为3
System.out.printf("%3d", day);
totalDay++;
//如果是今天,则带*
if(day == today){
System.out.print("*");
}else{
System.out.print(" ");
}
//如果是星期六,则换行
if(weekday == Calendar.SATURDAY){
System.out.println();
}
//日期递增
gcl.add(Calendar.DAY_OF_MONTH, 1);
//获得星期几
weekday = gcl.get(Calendar.DAY_OF_WEEK);
//如果总天数达到42天,程序结束
if(totalDay == 42){
break;
}
}
}