java Period计算日期(LocalDate)

1.这是在一次计算人员的执业年限,无意间找到的java自带的日期计算方法。
需求是这样的,就是一个人员有一个首次执业时间,要求算出距今执业了几年,这里就涉及到年月日的计算,自己写也是可以计算写出来,但是我就想 java没有自带的方法去计算日期的吗? 终于皇天不负有心人,上代码↓

//获取首次执业时间
Date firstLicenseDate = entity.getProperty("firstLicenseDate", Date.class,null);
//得到当前时区,当前时间
LocalDate now=LocalDate.now()
//获取当前时区的ZoneId,用于Instant和LocalDate的转换
ZoneId zoneId = ZoneId.systemDefault();
//把Date的firstLicenseDate转换成LocalDate类型
LocalDate localDate = firstLicenseDate.toInstant().atZone(zoneId).toLocalDate();
//获取localDate到now日期的差值
Period between = Period.between(localDate, now);
/**
between.getYears()获取距今相差的年数,
between.getMonths()获取localDate的月到now月相差的月数,
between.getDays()()获取localDate的月到now月相差的天数。
*/
System.out.print("相差:" + between.getYears() + "年" + between.getMonths() + "月" + between.getDays() + "日" + "<br/>");
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值