Java日期/时间API使用

494 阅读1分钟

1、Instant(时间点), Duration(时间段)

方法 描述
plus, minus 在当前对象加上或减去一个Duration
plusNanos, plusMillis, plusSeconds, minusNanos, minusMillis, minusSeconds 在当前对象加上或减去一个给定时间单位的数值
plusMinutes, plusHours, plusDays, minusMinutes, minusHours, minusDays 在当前对象加上或减去一个给定时间单位的数值
multipliedBy, dividedBy, negated 返回由当前对象乘以或除以一个给定时间单位数值后得到的对象
isZero, isNegative 检查当前对象是否为0或负值

2、LocalDate(本地日期), Period(日期间隔), DayOfWeek(星期枚举类), Month(月份枚举类)

方法 描述
of, now 构建一个LocalDate对象
plus, minus 加上或减去一个Duration或Period
plusDays, plusWeeks, plusMonths, plusYears, minusDays, minusWeeks, minusMonths, minusYears 在当前LocalDate上加上或减去一定量的时间单位
withDayOfMonth, withDayOfYear, withMonth, withYear 返回一个新的LocalDate,其值修改为给定的值
getDayOfMonth, getDayOfYear 返回一个日期的天数
getDayOfWeek 返回一个星期的枚举值
getMonth 返回一个月份的枚举值
getYear 返回一个年份
until 返回一个Period,搭配ChronoUnits计算两个LocalDate的Period
isBefore, isAfter 比较两个LocalDate
isLeapYear 判断闰年

3、TemporalAdjusters(日期调整器), TemporalAdjuster(自定义日期调整器接口)

方法 描述
next(weekday), previous(weekday) 上一个或下一个给定的星期日期
nextOrSame(weekday), previousOrSame(weekday) 上一个或下一个给定的星期日期(包括当日)
dayOfWeekInMonth 月份中第n个weekday
lastInMonth 月份中最后一个weekday
firstDayOfMonth, firstDayOfNextMonth, firstDayOfNextYear, lastDayOfMonth, lastDayOfYear 方法名描述的日期
ofDateAdjuster 自定义日期调整器,如下获取下一个休息日
LocalDate.now().with(TemporalAdjusters.ofDateAdjuster( localDate -> {
    while(localDate.getDayOfWeek().getValue() < 6) {
        localDate = localDate.plusDays(1);
    }
    return localDate;
}));

4、LocalTime(本地时间)