程序关键步骤:
首先构造一个日历对象,并用当前的日期和时间进行初始化
LocalDate date = LocalDate.now();
// 获得当前的月和日
int month = date.getMonthValue();
int today = date.getDayOfMonth();
将date设置为这个月的第一天,并得到这一天为星期几
// set to start of month
date = date.minusDays(today - 1);
DayOfWeek weekday = date.getDayOfWeek();
// 1 = Monday,...,7 = Sunday
int value = weekday.getValue();
变量weekday设置为DayOfWeek类型的对象。我们调用这个对象的getValue防范来得到星期几的一个数值。这会得到一个整数,这里遵循国际惯例,即周末式一周的末尾,星期一就返回1,星期二就返回2,以此类推。星期日返回7.
迭代打印日期值,如果date是当前日期,这个日期用一个*标记。接下来把date推进到下一天。如果到达新一周的第一天,则换行打印:
// 只要date还在当月就要继续迭代
while (date.getMonthValue() == month) {
System.out.printf("%3d", date.getDayOfMonth());
if (date.getDayOfMonth() == today)
System.out.pri