* 打印Windows系統日曆格式
*
* 2016年4月16日 星期六 今年的107天
*
* 日 一 二 三 四 五 六
* 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
*
* Date類 Calendar類 DateFormat類 SimpleDateFormat類的應用和練習
*
*/
import java.text.SimpleDateFormat;
public class MyCalendar {
public static void main(String[] args) {
Date d=new Date();
ShowMonth s=new ShowMonth();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 E 今年的第D天");
System.out.println(sdf.format(d));
System.out.println("日\t一\t二\t三\t四\t五\t六");
s.show();
}
}
import java.util.Calendar;
public class ShowMonth {
Calendar c=Calendar.getInstance();
//獲得每個月的最大天數
int sumDays =c.getActualMaximum(Calendar.DATE);
public void show(){
//設置當前日期爲第一天(1日)
c.set(Calendar.DAY_OF_MONTH, 1);
//得到當前(1日)是一週的第幾天
int a = c.get(Calendar.DAY_OF_WEEK);
//打印當前(1日)日期前面的空格
for(int i=1; i<a; i++) {
System.out.print("\t");
}
//打印每個月的日期
for(int i=1;i<=sumDays;i++){
System.out.print(i+"\t");
//如果是週六,換行輸出
if(c.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY){
System.out.println();
}
// 每次輸出日期後,將日期增加一天
c.add(Calendar.DAY_OF_MONTH, 1);
}
}
}