本文借鉴《JAVA核心开发:卷2》

Date类有点过时,但其中的new Date().toString()比较常用,而且非常好用,比起Clendar.toString()好多了。

好,步入正题,下面就是本年日历的程序:

/**@authorHUI_土疙瘩*/

importjava.util.*;


public class CalendarTest {


public static void main(String[] args) {


     GregorianCalendar date = new GregorianCalendar();


//获得今天

int today = date.get(Calendar.DAY_OF_MONTH);

//获得当今月份

int nowMonth = date.get(Calendar.MONTH);


//设置月份从一月一号开始

     date.set(Calendar.DAY_OF_MONTH, 1);

     date.set(Calendar.MONTH, 0);

     date.setFirstDayOfWeek(Calendar.SUNDAY);


for(int i=Calendar.JANUARY; i<=Calendar.DECEMBER; i++){


int weekday = date.get(Calendar.DAY_OF_WEEK);

int month = date.get(Calendar.MONTH);


        System.out.println("         Month:" + (month+1));


        System.out.println("Sun Mon Tue Wed Thu Fri Sat");

for(int j=Calendar.SUNDAY; j<weekday; j++)

           System.out.print("   ");


do{

int day = date.get(Calendar.DAY_OF_MONTH);

           System.out.printf("%3d", day);


if(day == today && month == nowMonth)

               System.out.print("#");

else

               System.out.print(" ");


if(date.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY)

               System.out.println();


           date.add(Calendar.DAY_OF_MONTH, 1);


        }while(month == date.get(Calendar.MONTH));


//换行

if(date.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY)

           System.out.println();


        System.out.println();


     }//for

  }

}


PS:小弟刚刚入道,欢迎各位大虾指正批评。