日期相关类的使用

来源:互联网 发布:小学老师 知乎 编辑:程序博客网 时间:2024/05/22 12:24
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();
        }
        
    }
}