按照日历表打印出日历,今天的日期标注"*"。
LocalData类:其中包含多种关于日期的调用
import java.time.LocalDate;
import java.time.temporal.TemporalAdjuster;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
LocalDate localDate=LocalDate.of(2024,6,25);
LocalDate first=localDate.with(TemporalAdjusters.firstDayOfMonth());//获得该日期下该月第一天
System.out.println(first);
System.out.println(first.getDayOfWeek().getValue());//获得该日期下处于星期几
LocalDate lastDay=localDate.with(TemporalAdjusters.lastDayOfMonth());//获得该日期下该月最后一天
System.out.println(first.getDayOfMonth());
System.out.println(lastDay.getDayOfMonth());
int dayofweek=first.getDayOfWeek().getValue();
int days=lastDay.getDayOfMonth();
int today=localDate.getDayOfMonth();
System.out.println(today);
int day=1;
int[] arr=new int[42];
//填充一维数组
for (int i=dayofweek;i<dayofweek+days;i++){
arr[i]=day++;
}
//遍历一维数组,打印日历
System.out.println("一\t二\t三\t四\t五\t六\t日\t");
for (int i=1;i<arr.length;i++){
if (arr[i]!=0){
if (arr[i]==today){
System.out.print("*");
}
System.out.print(arr[i]+"\t");
}
else {
System.out.print("\t");
}
if (i%7==0){
System.out.println();
}
}
}
}