java的日期

  直接看例子:

import java.text.DateFormatSymbols;
import java.util.*;

import org.springframework.cglib.core.Local;



public class CalendarTest
{
    public static void main(String[] args)
    {
        GregorianCalendar d = new GregorianCalendar();
        
        int today = d.get(Calendar.DAY_OF_MONTH);
        int month = d.get(Calendar.MONTH);
        
        d.set(Calendar.DAY_OF_MONTH,1);
        int weekday = d.get(Calendar.DAY_OF_WEEK);
        
        int firstDayOfWeek = d.getFirstDayOfWeek();
        
        int indent = 0;
        while(weekday != firstDayOfWeek)
        {
            indent++;
            d.add(Calendar.DAY_OF_MONTH, -1);
            weekday = d.get(Calendar.DAY_OF_WEEK);
        }
        
        String[] weekdayNames = new DateFormatSymbols(Locale.US).getShortWeekdays();
        do
        {
            System.out.printf("%4s", weekdayNames[weekday]);
            d.add(Calendar.DAY_OF_MONTH, 1);
            weekday = d.get(Calendar.DAY_OF_WEEK);
        }
        while(weekday != firstDayOfWeek);
        System.out.println();
        for(int i = 1; i <= indent; i++)
        {
            System.out.print("    ");
        }
        
        d.set(Calendar.DAY_OF_MONTH,1);
        do
        {
            int day = d.get(Calendar.DAY_OF_MONTH);
            System.out.printf("%3d",day);
            
            if(day == today)
            {
                System.out.print("*");
            }
            else{
                System.out.print(" ");
            }
            
            d.add(Calendar.DAY_OF_MONTH, 1);
            weekday = d.get(Calendar.DAY_OF_WEEK);
            
            if(weekday == firstDayOfWeek)
            {
                System.out.println();
            }
        }
        while(d.get(Calendar.MONTH) == month);
        
        if(weekday != firstDayOfWeek)
        {
            System.out.println();
        }
    }
}

  输出:

 Sun Mon Tue Wed Thu Fri Sat
              1   2   3   4 
  5   6   7   8   9  10  11 
 12  13  14  15  16  17  18 
 19  20* 21  22  23  24  25 
 26  27  28  29  30  31 

猜你喜欢

转载自www.cnblogs.com/wuxun1997/p/9508883.html