package com.test;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class VisualCalendar {
public static void main(String[] args) {
String str = "2017-5-21";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
Date d1 = df.parse(str); //得到日期格式的时间
Calendar cl = new GregorianCalendar();
cl.setTime(d1); //把日期装载入calendar
cl.set(Calendar.DATE, 1); //把日期改为1号 2017-2-1号
// System.out.println(cl.get(Calendar.DAY_OF_WEEK));
// System.out.println(cl.getActualMaximum(Calendar.DATE));
//
int max = cl.getActualMaximum(Calendar.DATE);
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1; i<cl.get(Calendar.DAY_OF_WEEK);i++){
System.out.print("\t"); //前面打空格
}
//int j=0;
for (int i=1; i<=max; i++){
System.out.print(i+"\t");
int w =cl.get(Calendar.DAY_OF_WEEK); //返回当前日期的数值
//j++;
if(w==Calendar.SATURDAY){ //判断当前日期是星期六,只有周六才能换行
System.out.print('\n');
}
cl.add(Calendar.DATE, 1); //
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}