概述
基本用法
LocalDate 类用来表示当前日期,除日期外不包含其他数据
LocalDate today = LocalDate.now();
int year = today.getYear();
int month = today.getMonthValue();
int day = today.getDayOfMonth();
System.out.println("Today's Local date : " + today);
System.out.printf("Year : %d; Month : %d; day : %d%n", year, month, day);
输出:
Today's Local date : 2016-05-23
Year : 2016; Month : 5; day : 23
偏移时间
LocalDate today = LocalDate.now();
System.out.println("Time after 1 week : " + today.plus(1, ChronoUnit.WEEKS));
System.out.println("Time before 1 year : " + today.minus(1, ChronoUnit.YEARS));
输出:
Time after 1 week : 2016-05-30
Time before 1 year : 2015-05-23
特定日期
通过上面的方法,你可以实现任意日期偏移前后的日期对象,你也可以通过年月日信息创建特定日期的 LocalDate:
LocalDate date1 = LocalDate.of(2014, 01, 14);
日期比较
java8 同时提供了日期的比较的方法:isBefore() 和 isAfter():
LocalDate tomorrow = LocalDate.of(2014, 1, 15);
if (tommorow.isAfter(today)) {
System.out.println("Tomorrow comes after today");
}
LocalDate yesterday = today.minus(1, DAYS);
if (yesterday.isBefore(today)){
System.out.println("Yesterday is day before today");
}
输出了:
Tomorrow comes after today
Yesterday is day before today
日期间隔的计算
日期的另一个重要使用场景是计算两个日期之间间隔的月、日数,java8 中也提供了简单实用的方法:
LocalDate java8Release = LocalDate.of(2014, Month.MARCH, 14);
Period periodToJavaRelease = Period.between(java8Release, LocalDate.now());
System.out.println("After Java 8 release : "
+ periodToJavaRelease.getYears() + "years "
+ periodToJavaRelease.getMonths() + "months "
+ periodToJavaRelease.getDays() + "days"
);
最后
以上就是顺心大碗为你收集整理的java 8时间操作_java8 新增日期时间操作方式的全部内容,希望文章能够帮你解决java 8时间操作_java8 新增日期时间操作方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复