可视化日历

可视化日历示例展示:

public class VisualCalendar{
    public static void main(String [] args){
//1. 按照提示从键盘输入日期字符串:
        System.out.println("请输入日期(格式:2017-12-19):");
        Scanner scanner = new Scanner(System.in);
        String temp = scanner.nextLine();
//2. 将字符串转换成日期:
        DateFormat  format = new SimpleDateFormat("yyyy-MM-dd");
        try{
            Date date =  fromat.parse(temp);
//3. 将日期转换成日历:
            Calendar calendar = new GregorianCalendar();
            calendar.setTime(date);
//4. 把日期中的Date取出来:
            int day = calendar.get(Calendar.DATE);
//5. 把日历变成了当月的1日:
            calendar.set(Calendar.DATE, 1);
//6. 打印日历头部信息:
            system.out.println("日\t一\t二\t三\t四\t五\t六");
//7. 打印1日之前的空格(关键知道1日是星期几):
            for(int i=1; i<calendar.get(Calendar.DAY_OF_WEEK); i++){
                System.out.print('\t');
            }
//8. 打印日历
            int maxDate = calendar.getActualMaximum(Calendar.DATE);//获取当月的最大的天数。
            for(int i=1; i<=maxDate; i++){
            //8.1 如果是当天,打印*
                if(i==day){
                    System.out.print("*");
                }
                //8.2 打印该天
                System.out.print(i+"\t");
                //8.3 如果是周六,换行
                int w = calendar.get(Calendar.DAY_OF_WEEK);
                if(w == Calendar.SATURDAY){
                    System.out.print('\n');
                }
                //8.4 把日历改为下一天
                calendar.add(Calendar.DATE,1);
            }
        }catch(ParseException e){
            e.printStackTrace();
        }
    }
}

 

posted @ 2017-12-19 15:50  superdrew  阅读(640)  评论(0编辑  收藏  举报