java8 时间类 LocalDate
LocalDate.now() 获取当前时间 格式为:yyyy-MM-dd
LocalDate.of() "创建"时间类
date.getDayOfWeek() 获取星期几,返回枚举类(WEDNESDAY。。)
date.getDayOfWeek().getValue() 转成int类型
with(TemporalAdjusters.lastDayOfMonth()).getDayOfMonth();获取本月最后一天
minusDays(1); 减一天
plusDays(1); 增一天
getDayOfMonth() 获取本月中的一天
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份");
int year = sc.nextInt();
System.out.println("请输入月份");
int month = sc.nextInt();
LocalDate date = LocalDate.of(year, month, 1);
System.out.println(date);
int week = date.getDayOfWeek().getValue();
int lastDay = date.with(TemporalAdjusters.lastDayOfMonth()).getDayOfMonth();
LocalDate nextDay = date.minusDays(1);
System.out.println("一\t二\t三\t四\t五\t六\t日");
for (int i = 1; i <= lastDay+week-1; i++) {
if(i<week) {
System.out.print("\t");
}else {
nextDay = nextDay.plusDays(1);
System.out.print(nextDay.getDayOfMonth()+"\t");
}
if(i%7==0) {
System.out.println();
}
}
sc.close();
}