package com.zyx.date;
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;
/**
* 可视化日历程序
* @author lenovo
*
*/
public class VisualCalendar {
public static void main(String[] args) {
System.out.println("请输入日期:(格式:年月日 :2013-09-01)");
/*获取用户输入*/
Scanner scanner = new Scanner(System.in);
String toDay = scanner.nextLine();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = df.parse(toDay); //字符串日期转换为日期
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);//日期转为日历
int day = calendar.get(Calendar.DATE);//获取当前日期的天
calendar.set(Calendar.DATE, 1);//取日期的第一天
int begin = calendar.get(Calendar.DAY_OF_WEEK);//取日期的第一天是星期几
int end = calendar.getActualMaximum(Calendar.DATE);//取日期的最后一天
System.out.println("日\t一\t二\t三\t四\t五\t六");
/*显示第一天前的空星期*/
for(int i=1;i
System.out.print("\t");
}
/*显示所有日期*/
for(int i=1;i<=end;i++){
if(day == i){//用*标识输入的日期
System.out.print(i+"*\t");
}else{
System.out.print(i+"\t");
}
int week = calendar.get(Calendar.DAY_OF_WEEK);//获取当天是星期几
if(week == Calendar.SATURDAY){//遇到星期六换行
System.out.println();
}
calendar.add(Calendar.DATE, 1);//日历加1天
}
} catch (ParseException e) {
System.out.println("请按照格式输入");
}
}
}