效果:
代码:
LocalDate ld = LocalDate.now();// 获取当前日历
int month = ld.getMonthValue();// 获取当前月份
int today = ld.getDayOfMonth();
ld = ld.minusDays(today - 1);// 当月第一天
DayOfWeek dw = ld.getDayOfWeek();// 获取是星期几
int value = dw.getValue();// 当前月份第一天是星期几
System.out.println("Mon Tue Wed Thu Fri Sat Sun ");
for (int i = 1; i < value; i++) {
System.out.print(" ");// 打印缩进
}
while (ld.getMonthValue() == month) {
System.out.printf("%3d", ld.getDayOfMonth());// 格式化打印打印是这一月的第几天
if (ld.getDayOfMonth() == today) {
System.out.print("*");
} else {
System.out.print(" ");
}
ld = ld.plusDays(1);// 增加一天
if (ld.getDayOfWeek().getValue() == 1) {
System.out.println("");// 周一换行
}
}