LocalDate类的简单应用(显示当前月日历)
java.lang.Object
java.time.LocalDate
常用方法
----
1、static localTime now()
构造一个表示当前日期的对象
2、static LocalTime of(int year,int month,int day)
构造一个表示给定日期的对象
3、int getYear()
获得当前日期的年
4、int getMonthValue()
获得当前日期的月
5、int getDayOfMonth()
获得当前日期的日
6、DayOfWeek getDayOfWeek()
获得当前日期是星期几,作为DayOfWeek类的一个实例返回。调用getValue()方法来得到1~7之间的一个数,表示这是星期几,1表示星期一,7表示星期天
7、LocalDate plusDays(int n)
生成当前日期之后n天的日期
8、LocalDate minusDays(int n)
生成当前日期之前n天的日期
package CalendarTest;
/**
* @version 1.20 2016-12-28
* @author NPJ
*/
import java.time.*;
public class CalendarTest {
public static void main(String[] args) {
LocalDate date = LocalDate.now();//构造一个表示当前日期的对象
int month = date.getMonthValue();//获取当前月份
int today = date.getDayOfMonth();//获取当前日期
date = date.minusDays(today-1); //设置date为这个月的第一天,并且得到这一天为星期几
DayOfWeek weekday = date.getDayOfWeek();
int value = weekday.getValue();
//打印日历的主体
System.out.println(" Mon Tue Wed Thu Fri Sat Sun");
for(int i = 1; i < value; i++)
System.out.print(" ");
while(date.getMonthValue() == month) {
System.out.printf("%3d",date.getDayOfMonth());
if(date.getDayOfMonth() == today) {
System.out.print("*");
}else {
System.out.print(" ");
}
date = date.plusDays(1);
if(date.getDayOfWeek().getValue() == 1) {//如果是星期一,则换行输出
System.out.println();
}
}
if(date.getDayOfWeek().getValue() != 1)
System.out.println();
}
}
结果如下: