public class Demo {
public static void main(String[] args) {
//创建一个日历对象
LocalDate data = LocalDate.now();
//获取当前月份
int month = data.getMonthValue();
//获取当前日期
int today = data.getDayOfMonth();
System.out.println("当前日期为:" + data);
//将日历对象退回到月初
data = data.minusDays(today - 1);
//创建星期对象,目的获取星期值
DayOfWeek week = data.getDayOfWeek();
int weekVal = week.getValue();
System.out.println("星期一 星期二 星期三 星期四 星期五 星期六 星期天");
for (int i = 1; i < weekVal; i++) {
System.out.printf(" ");
}
while (data.getMonthValue() == month) { //当日历对象还在本月
System.out.printf("%3d", data.getDayOfMonth());
if (data.getDayOfMonth() == today) {
System.out.printf("* ");
} else {
System.out.printf(" ");
}
data = data.plusDays(1); //日历对象向后加一天
if (data.getDayOfWeek().getValue() == 1) { //若是星期一则换行
System.out.println();
}
}
}
}
运行结果: