Skip to content

Latest commit

 

History

History
70 lines (53 loc) · 1.84 KB

6. Visual Calendar.md

File metadata and controls

70 lines (53 loc) · 1.84 KB

6. Visual Calendar

package com.alexanderli95.visualCalendar;

import java.text.DateFormat;
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 MyCalendar {
    public static void main(String[] args){
        DateFormat df=new SimpleDateFormat("yyyy-MM-dd");

        System.out.println("Input date(yyyy-MM-dd):");
        //获得键盘输入
        Scanner scanner=new Scanner(System.in);
        String time=scanner.nextLine();

        //Date d=new Date(System.currentTimeMillis());
        //String time=df.format(d);
        try {
            Date d1=df.parse(time);
            Calendar calendar=new GregorianCalendar();

            calendar.setTime(d1);

            int currentDate=calendar.get(Calendar.DATE);
            calendar.set(Calendar.DATE,1);

            int maxDate=calendar.getActualMaximum(Calendar.DATE);

            System.out.println("SUN\tMON\tTUE\tWED\tTHU\tFRI\tSAT");

            int spaceIn=calendar.get(Calendar.DAY_OF_WEEK)-1;
            for(int i=0;i<spaceIn;i++){
                System.out.print(" \t");
            }

            for(int i=1;i<=7-spaceIn;i++){
                System.out.print(i+"\t");
            }
            System.out.println();

            int j=1;
            for(int i=8-spaceIn;i<=maxDate;i++){
                if(currentDate!=i){
                    System.out.print(i+"\t");
                }else{
                    System.out.print("*"+i+"\t");
                }


                if(j%7==0){
                    System.out.println();
                }
                j++;
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }

    }
}