java 8时间操作_java8 新增日期时间操作方式

基本用法

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"

);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值