制作可视化日历的代码案例:
System.out.println("请输入日期 (按照格式: 2018-12-01)");
Scanner scan = new Scanner(System.in);
String temp =scan.nextLine();
/*
* 1. 该段代码关键在于:
* 2. 获取日期相对应的星期几。
* 3. 获取指定月份的天数。
*
*/
DateFormat df = new SimpleDateFormat("yyyy-mm-dd");
Date date = df.parse(temp); //Parses text from the beginning of the given string to produce a date.
Calendar c = new GregorianCalendar();
c.setTime(date); // 此时calendar时间就是输入的日期时间
int day=c.get(Calendar.DATE);//将输入的日期保存下来
c.set(Calendar.DATE, 1); // 将日期改为1
System.out.println(c.get(Calendar.DAY_OF_WEEK));// 显示输入的日期是周二
int dates= c.getActualMaximum(Calendar.DATE);// 获取输入时间的最大天数。
System.out.println(dates);
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int e=0;e<c.get(Calendar.DAY_OF_WEEK);e++) {
System.out.print("\t");
}
for (int i =1; i <= dates; i++) {
if(i==day) {
System.out.print("*");
}
System.out.print(i + "\t");
c.add(Calendar.DATE, 1);
if (c.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY) {
System.out.println();
}
}
}
结果如下图所示: