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 visualCalendar { 



/**可视化日历程序 

* @param args 

* @throws ParseException  

*/ 

public static void main(String[] args)  { 

// TODO Auto-generated method stub 

Scanner scanner=new Scanner(System.in);     //输入要查询的年月日 

System.out.println("请输入要查询的年月日(按照格式:2015-6-12):"); 

String temp=scanner.nextLine(); 

 

DateFormat format=new SimpleDateFormat("yyyy-MM-dd");    //建立对象(应符合的格式) 

try{ 

Date date=format.parse(temp);    //将字符串转换为日期 

Calendar calendar=new GregorianCalendar(); 

calendar.setTime(date);            //将日期转化为日历 

int day=calendar.get(Calendar.DATE);  //获得具体的日期 

calendar.set(Calendar.DATE,1);           //日期设为1 

int m=calendar.get(calendar.DAY_OF_WEEK);         //对应日期的星期几 

int n=calendar.getActualMaximum(Calendar.DATE);    //对应月份的天数 

 

System.out.println("日\t一\t二\t三\t四\t五\t六"); 

for(int i=1;i<m;i++){ 

System.out.print("\t"); 

 } 

for(int i=1;i<=n;i++){                       //对应日期前加* 

if(i==day){ 

System.out.print("*"); 

} 

System.out.print(i+"\t"); 

if(calendar.get(calendar.DAY_OF_WEEK)==Calendar.SATURDAY){            //如果到星期六换行 

System.out.println(); 

          } 

           calendar.add(Calendar.DATE, 1); 

       } 

 

}catch(ParseException e){ 

e.printStackTrace(); 

} 

 

        
  

} 

}