import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class CalendarTest3 {
public static void main(String[] args) {
System.out.printf("今天的日期是: %tF %
System.out.println("日\t一\t二\t三\t四\t五\t六");
Calendar dt = new GregorianCalendar( );
int month = dt.get( Calendar.MONTH ); //记录当月月份
int today = dt.get( Calendar.DAY_OF_MONTH );//记录当天
//将当前日历定位到当月的1号上。
dt.set( Calendar.DAY_OF_MONTH, 1 );
//获取1号对应的星期是什么
int weekday = dt.get( Calendar.DAY_OF_WEEK );
//打印星期日至1号对应星期间的空格。
for( int w = Calendar.SUNDAY; w < weekday; w++ ){
System.out.print(" ");
}
//读取当月的每一天
int m1 = dt.get( Calendar.MONTH );
while( m1 == month ){ //判断从日历中读取的月份是否等于当月
int day = dt.get( Calendar.DAY_OF_MONTH ); //读取日子
if( day == today ){
System.out.printf( "%02d★\t" , day ); //打印当天
}else{
System.out.printf( "%02d\t" , day ); //打印当天
}
weekday = dt.get( Calendar.DAY_OF_WEEK ); //获取日子对应的星期
if( weekday == Calendar.SATURDAY ){
System.out.println(); //换行
}
dt.add( Calendar.DAY_OF_MONTH, 1 ); //进入明天
m1 = dt.get( Calendar.MONTH ); //读取月份
}
}
}