日历的显示

日历的显示

//此程序能够显示当前这个月的全部日期。
import java.util.*;
public class CalendarTest 
{
	public static void main(String[] args) 
	{
       //construct d as current date
		GregorianCalendar d=new GregorianCalendar();
		
		int today=d.get(Calendar.DAY_OF_MONTH);
		int month=d.get(Calendar.MONTH);
		
		//set d to start date of the month.
		d.set(Calendar.DAY_OF_MONTH,1);
		int weekday=d.get(Calendar.DAY_OF_WEEK);
		
		//print heading
		System.out.println("Sun Mon Tue Wed Thu Fri Sat");
		
		//indent first line of calendar
		for(int i=Calendar.SUNDAY;i<weekday;i++)
			System.out.print("    ");
		
		do{
			//print day
			int day=d.get(Calendar.DAY_OF_MONTH);
			System.out.printf("%3d",day); 
			
			//mark current day with *
			if(day==today)
				System.out.print("*");
			else
				System.out.print(" ");
			
			//start a new line after every Saturday
			if(weekday==Calendar.SATURDAY)
				System.out.println();
			
			//advance d to the next day
			d.add(Calendar.DAY_OF_MONTH,1);
			weekday=d.get(Calendar.DAY_OF_WEEK);
		}while(d.get(Calendar.MONTH)==month);
		//the loop exits when d is day 1 of the next month
		
		//print final end of line if necessary
		if(weekday!=Calendar.SUNDAY)
			System.out.println();
	}
}

 

 

 

posted @ 2010-04-08 11:52  月亮的影子  阅读(294)  评论(1编辑  收藏  举报