package corejava.day14;
//在控制台输入一个月份,打印这个月份的日历显示
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class CalendarDemo {
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String reg = "\\d{4}\\-\\d{1,2}";
String input = "";
while(true){
System.out.print("请输入一个月份(yyyy-MM) :");
input = sc.nextLine();
if(input.matches(reg))
break;
}
Date d = sdf.parse(input);
Calendar c = new GregorianCalendar();
c.setTime(d);
int day = c.get(Calendar.DAY_OF_WEEK);
int max = c.getActualMaximum(Calendar.DAY_OF_MONTH);
int count = 0;
System.out.println("日\t一\t二\t三\t四\t五\t六\t");
for(int i=0;i<day-1;i++){
System.out.print(" \t");
count++;
}
for(int i=1;i<=max;i++){
System.out.print(i+"\t");
count++;
if(count%7==0)
System.out.println();
}
}
}
//在控制台输入一个月份,打印这个月份的日历显示
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class CalendarDemo {
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String reg = "\\d{4}\\-\\d{1,2}";
String input = "";
while(true){
System.out.print("请输入一个月份(yyyy-MM) :");
input = sc.nextLine();
if(input.matches(reg))
break;
}
Date d = sdf.parse(input);
Calendar c = new GregorianCalendar();
c.setTime(d);
int day = c.get(Calendar.DAY_OF_WEEK);
int max = c.getActualMaximum(Calendar.DAY_OF_MONTH);
int count = 0;
System.out.println("日\t一\t二\t三\t四\t五\t六\t");
for(int i=0;i<day-1;i++){
System.out.print(" \t");
count++;
}
for(int i=1;i<=max;i++){
System.out.print(i+"\t");
count++;
if(count%7==0)
System.out.println();
}
}
}