Java 8 新增的日期、时间包

Java 8 专门新增了一个 java.time 包,该包下包含了如下常用的类。

Clock:该类用于获取指定时区的当前日期、时间。该类可取代 System 类的 currentTimeMillis() 方法,而且提供了更多方法来获取当前日期、时间。

Duration:该类代表持续时间。

Instant:代表一个具体的时刻,可以精确到纳秒。该类提供了静态的 now() 方法来获取当前时刻,也提供了静态的 now(Clock clock) 方法来获取 clock 对应的时刻。除此之外,它还提供了一系列 minusXxx() 方法在当前时刻基础上减去一段时间,也提供了 plusXxx() 方法在当前时刻基础上加上一段时间。

LocalDate:该类代表不带时区的日期,例如 2018-08-24。该类提供了静态的 now() 方法来获取当前日期,也提供了静态的 now(Clock clock) 方法来获取 clock 对应的日期。除此之外,它还提供了 minusXxx() 方法在当前年份基础上减去几年、几月、几周或几日等,也提供了 plusXxx() 方法在当前年份基础上加上几年、几月、几周或几日等。

LocalTime:该类代表不带时区的时间,例如 19:28:36 。该类提供了静态的 now() 方法来获取当前时间,也提供了静态的 now(Clock clock) 方法来获取 clock 对应的时间。除此之外,它还提供了 minusXxx() 方法在当前年份基础上减去几小时、几分、几秒等,也提供了 plusXxx() 方法在当前年份基础上加上几小时、几分、几秒等。

LocalDateTime:该类代表不带时区的日期、时间,例如 2018-08-24T19:32:06 。该类提供了静态的 now() 方法来获取当前日期、时间,也提供了静态的 now(Clock clock) 方法来获取 clock 对应的日期、时间。除此之外,它还提供了 minusXxx() 方法在当前年份基础上减去几年、几月、几日、几小时、几分、几秒等,也提供了 plusXxx() 方法在当前年份基础上加上几年、几月、几日、几小时、几分、几秒等。

MonthDay:该类仅代表月日,例如 --08-24 。该类提供了静态的 now() 方法来获取当前月日,也提供了静态的 now(Clock clock) 方法来获取 clock 对应的月日。

Year:该类仅代表年,例如 2018 。该类提供了静态的 now() 方法来获取当前年份,也提供了静态的 now(Clock clock) 方法来获取 clock 对应的年份。除此之外,它还提供了 minusYears() 方法在当前年份基础上减去几年,也提供了 plusYears() 方法在当前年份基础上加上几年。

YearMonth:该类仅代表年月,例如 2018-08 。该类提供了静态的 now() 方法来获取当前年月,也提供了静态的 now(Clock clock) 方法来获取 clock 对应的年月。除此之外,它还提供了 minusXxx() 方法在当前年份基础上减去几年、几月,也提供了 plusXxx() 方法在当前年份基础上加上几年、几月。

ZonedDateTime:该类代表一个时区化的日期、时间。

ZoneId:该类代表一个时区。

DayOfWeek:这是一个枚举类,定义了周日到周六的枚举值。

Month:这也是一个枚举类,定义了一月到十二月的枚举值。

你可能感兴趣的:(Java)