java 获取日历
来源:互联网 发布:sadp软件 编辑:程序博客网 时间:2024/06/03 16:25
转自:http://zhidao.baidu.com/question/318137752.html效果: 2011年 11月===================================================SunMonThuWedTheFriSat12345678910111213141516*1718192021222324252627282930
import java.util.Calendar;public class Test {public static void main(String[] args){int i=0,n=0; //获得今天的日期 Calendar mycal=Calendar.getInstance(); int m=mycal.get(Calendar.MONTH),y=mycal.get(Calendar.YEAR),d=mycal.get(Calendar.DAY_OF_MONTH); int year=mycal.get(Calendar.YEAR); int month=mycal.get(Calendar.MONTH); //输入日期 try { year=Integer.parseInt(args[0]); month=Integer.parseInt(args[1])-1; } //处理异常 catch(ArrayIndexOutOfBoundsException e) { year=mycal.get(Calendar.YEAR); month=mycal.get(Calendar.MONTH); } mycal.set(year,month,1); System.out.println(" "+year+"年 "+(month+1)+"月"); System.out.println("\t==================================================="); System.out.println("\tSun\tMon\tThu\tWed\tThe\tFri\tSat"); int a=mycal.get(Calendar.DAY_OF_WEEK);//得到每个月第一天是星期几 //Calendar中1-星期天,2-星期一,3-星期二,4-星期三,5-星期四,6-星期五,7-星期六 int b=mycal.get(Calendar.DAY_OF_WEEK); int maxDate=mycal.getActualMaximum(Calendar.DATE); //获得一个月的天数 if(a>1) { for(n=1;n<a;n++) System.out.printf("\t"); } n=n-1; for(i=1;i<=maxDate;i++,n++) { if(n%7==0) System.out.println(); System.out.printf("\t"+i); if(month==m&&year==y&&i==d) System.out.print("*"); } System.out.println(); }}