首页 > 代码库 > java学习日历输出(一)

java学习日历输出(一)

import java.text.DateFormatSymbols;import java.util.Calendar;import java.util.GregorianCalendar;import java.util.Locale;public class Main {    /**     * 打印出日历表格     */    public static void main(String[] args) {                GregorianCalendar d = new GregorianCalendar();        int today = d.get(Calendar.DAY_OF_MONTH); //今天是当月的几号        int month = d.get(Calendar.MONTH); //现在是第几月(因为从0开始算所以得到的月份要加个1)        d.set(Calendar.DAY_OF_MONTH,1);//将d设置为这个月的第一天        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().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();    }}

效果:

 

技术分享

java学习日历输出(一)