package cn.yjl.testCalendar;
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 DesignCalendar {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);//键盘输入
System.out.println("请输入日期:");
String temp=input.next();//获得输入值
System.out.println("\r");
// String temp="2020-1-1";
DateFormat farmat=new SimpleDateFormat("yyyy-MM-dd");//日期输入格式要求
try {
Date date=farmat.parse(temp);//parse方法把文本转化为日期,补充format是把日期转化为文本(字符串)。
Calendar calendar=new GregorianCalendar();//建一个日历对象
calendar.setTime(date);//setTime设置日历的时间为给定的日期 Date.
calendar.set(calendar.DATE, 1);//设为当前月的一号
int m=calendar.get(Calendar.DAY_OF_WEEK)-1;//一号对应的是第几天开始,m是1号前所打的空格数
// System.out.println(m);
int p=calendar.getActualMaximum(Calendar.DATE);//获得该月的天数
int p1=calendar.get(Calendar.MONTH)+1;//获得是几月,国外月份以0开始,故加一
System.out.println("\t “+”\t “+p1+” “+“月历表”);
//System.out.println(m);
System.out.print(“日”+”\t"+“一”+"\t"+“二”+"\t"+“三”+"\t"+“四”+"\t"+“五”+"\t"+“六”);
System.out.println(" “);
for(int n=0;n<m;n++){//1号前所打空格
System.out.print(” “+”\t");
}
for(int i=1;i<=p;i++){
System.out.print(i+"\t");
int w=calendar.get(Calendar.DAY_OF_WEEK);
if(w==Calendar.SATURDAY){ //每次到星期六换行。
System.out.print("\r");
}
calendar.add(calendar.DATE, 1);//日期从1开始加,到星期六换行
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}