JAVA——输出指定年月的日历
1.目的
输出一份当前所在时区当前时间的一个月的日历(1号到28/29/30/31号,以及每天对应为星期几)
2.语法
GregorianCalendar():用机器时间构造一个新对象。
GregorianCalendar(int year,int month,int dayOfMonth,int hourOfDay,int minute,int second):用指定的年、月、日、时、分、秒构造一个新对象。
GregorianCalendar(Locale aLocale):用aLocale指定的地域、默认的时区和当地时间构造一个新对象。
GregorianCalendar(TimeZone zone):用zone指定的时区、默认的地域和当前的时间构造一个新的对象。
GregorianCalendar(TimeZone zone, Locale aLocale):用zone指定的时区、aLocale指定的地域和当前时间构造一个新对象。
3.代码
import java.util.Calendar;
import java.util.GregorianCalendar;
//import java.util.Scanner;
public class rw9 {
static final String week[]= {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
public static void main(String[] args) {
// TODO Auto-generated method stub
int i;
int year=2018;//对指定年份进行设定
int month=9;//对指定月份进行设定
System.out.println(year + "年"+ month + "月的日历如下:\n");
System.out.println("=========================================");
GregorianCalendar cal=new GregorianCalendar(year,month-1,1);//对年份,月份,以及第一天来创建对象
int totalDays =cal.getActualMaximum(Calendar.DAY_OF_MONTH);//获取该月份的天数
int startDay =cal.get(Calendar.DAY_OF_WEEK)-1;//获取该月的第一天是星期几
for(i=0;i<week.length;i++)
System.out.print(week[i]+" ");//输出一周7天的星期
System.out.println();
for(i=0;i<startDay;i++)
System.out.print(" ");//输出第一天前的空格
for(int day =1;day<=totalDays;day++) {
if(day<=8) { //用于输出控制
System.out.print(day + " ");//依次输出每一天
}else {
System.out.print(day+" ");
}
i++;
if(i==7) { //每个星期输完换行
System.out.println();
i=0;
}
}
}
}
4.结果
编译结果如下图所示:
运行结果如下图所示: