Java中的LocalDate类——打印当前月份的日历程序清单

import java.time.*;

public class Example {

public static void main(String[] args) {

LocalDate date=LocalDate.now();//获得当前时间

System.out.println(date);

int month=date.getMonthValue();//获取当前时间的月份

int today=date.getDayOfMonth();//获得当前时间的日期

date =date.minusDays(today-1);//将date设置为这个月的第一天

DayOfWeek weekday=date.getDayOfWeek();//变量weekday设置为DayOfWeek类型的对象

int value=weekday.getValue();//得到星期几的数值

System.out.println("Mon Tue Wed Thu Fri Sat Sun");//打印日历的主体,其中date遍历一个月中的每一天

for(int i=1;i<value;i++){

System.out.print(" ");//日历首行是缩进的

}

while(date.getMonthValue()==month){//打印日期值

System.out.printf("%3d",date.getDayOfMonth());

if(date.getDayOfMonth()==today)//若date是当前日期,则用*标记

System.out.print("*");

else

System.out.print(" ");

date=date.plusDays(1);//把date推进到下一天

if(date.getDayOfWeek().getValue()==1)//如果到达新的一周的第一天,则换行打印

System.out.println();

}

if(date.getDayOfWeek().getValue()!=1)

System.out.println();

}

}

输出结果:

猜你喜欢

转载自blog.csdn.net/hml666888/article/details/81393985