介绍
Java8中专门提供了一个java.time时间包,在java.time中提供了很多类用来表示时间,例如:Date类,Instant类,LocalDate类,LocalTime类,LocalDateTime类,ZoneDateTime类。
Date:Date类的对象可以对一个时间点进行描述。
Instant:代表的是时间戳,可以理解为是一个顺势时间【类似于Date】。
LocalDate:则是通过日历表示法表示日期。
LocalTime:代表的是不含日期的时间。
LocalDateTime:包含日期以及时间,不含偏移信息和时区说明。
ZoneDateTime:包含完整时区信息日期时间,提供偏移信息和时间基准。
这里我们主要讲LocalDate的基本用法。
基础语法
构造LocalDate类对象
使用工厂方法,来构造LocalDate类对象,当调用工厂方法时,它会代替你调用构造器。
(1)获取当前时间对象
LocalDate localDate = LocalDate.now();
通过这个方法就可以构造一个新对象,表示构造这个对象时的日期。
(2)获得一个特定的时间对象
LocalDate localDate = new LocalDate.of(2000, 1 ,20);
我们也可以通过这种方法构造一个特定的日期对象。
读取年、月、日
// 创建类对象
LocalDate localDate = new LocalDate.of(2000, 1 ,20);
int year = localDate.getYear(); // year = 2000
Month month = localDate.getMonth(); // 这里的返回值为Month类对象
int month = moth.getValue(); // 可以通过getValue()方法获得月份的int类型返回值 month = 1
int day = localDate.getDayOfMonth(); // 返回这一天是这个月的第几天,也就是日 day = 20
plusDays() 和 minuesDays() 方法
(1)LocalDate plusDays (int n)
调用这个方法可以重新生成一个当前日期之后n天的LocalDate日期对象。
(2)LocalDate minusDays(int n)
调用这个方法可以重新生成一个当前日期之前n天的LocalDate日期对象。