* 打印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);
}
}
}