import java.time.*;
public class Example {
public static void main(String[] args) {
LocalDate date=LocalDate.now();//获得当前时间
System.out.println(date);
int month=date.getMonthValue();//获取当前时间的月份
int today=date.getDayOfMonth();//获得当前时间的日期
date =date.minusDays(today-1);//将date设置为这个月的第一天
DayOfWeek weekday=date.getDayOfWeek();//变量weekday设置为DayOfWeek类型的对象
int value=weekday.getValue();//得到星期几的数值
System.out.println("Mon Tue Wed Thu Fri Sat Sun");//打印日历的主体,其中date遍历一个月中的每一天
for(int i=1;i<value;i++){
System.out.print(" ");//日历首行是缩进的
}
while(date.getMonthValue()==month){//打印日期值
System.out.printf("%3d",date.getDayOfMonth());
if(date.getDayOfMonth()==today)//若date是当前日期,则用*标记
System.out.print("*");
else
System.out.print(" ");
date=date.plusDays(1);//把date推进到下一天
if(date.getDayOfWeek().getValue()==1)//如果到达新的一周的第一天,则换行打印
System.out.println();
}
if(date.getDayOfWeek().getValue()!=1)
System.out.println();
}
}
输出结果: