标签:java localDate Period firstLicenseDate 获取 between now LocalDate
1.这是在一次计算人员的执业年限,无意间找到的jdk自带的日期计算方法。
需求是这样的,就是一个人员有一个首次执业时间,要求算出距今执业了几年,这里就涉及到年月日的计算,自己写也是可以计算写出来,但是我就想 jdk没有自带的方法去计算日期的吗? 终于皇天不负有心人,上代码↓
//获取首次执业时间
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/>");
标签:java,localDate,Period,firstLicenseDate,获取,between,now,LocalDate 来源: https://blog.csdn.net/qq_42718938/article/details/113859983
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。