前言
开发中如果遇到计算年龄这种跟日历有关的场景时,相信很多人是一头雾水,然后百度。本篇介绍一下如何使用Joda-Time精确计算时间
核心对象
DateTimeFormatter
日期格式化和解析
LocalDate
日期(不带时间)
Period
周期(带时间单位。例如时,分,秒)
示例
计算1990-10-10出生的人的年龄
image.png- 通过PeriodType.yearMonthDay()可以计算出年龄,月份,和天数,够精确了。。可以看到计算出了28岁一个月多17天。
- 源代码
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd");
LocalDate birthDay = formatter.parseDateTime("1990-10-10").toLocalDate();
LocalDate now = new LocalDate();
Period period = new Period(birthDay, now, PeriodType.yearMonthDay());
String years = period.getYears() + "";
String month = period.getMonths() + "";
String days = period.getDays() + "";
网友评论