完成效果:
日期前的*代表是当前日期。
代码:
public class Calender {
public static void main(String[] args) throws ParseException {
//注释部分为字符串转为当日期操作
//String str="2020-2-10";
//DateFormat df= new SimpleDateFormat("yyyy-MM-dd");
//Date date=df.parse(str);
Calendar c=new GregorianCalendar();
//c.setTime(date);
System.out.println("日\t一\t二\t三\t四\t五\t六\t");
int CurrentDay=c.get(Calendar.DAY_OF_MONTH);
c.set(Calendar.DAY_OF_MONTH, 1);
for(int i=1;i<c.get(Calendar.DAY_OF_WEEK);i++) {
System.out.print("\t");
}
int day=c.getActualMaximum(Calendar.DATE);
for(int i=1;i<=day;i++) {
if(CurrentDay==c.get(Calendar.DAY_OF_MONTH)) {
System.out.print("*");
}
System.out.print(c.get(Calendar.DAY_OF_MONTH)+"\t");
if(c.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY) {
System.out.println();//换行
}
c.add(Calendar.DAY_OF_MONTH, 1);
}
}
}