Java8による時刻API
前回の記事では、Java7以前で用いられていた日時APIについて紹介しました。しかし、組み込みのAPIとしてはバグの温床となるような仕様が多く、個人的に使いづらさを感じていました。実際、
一般的な開発者が扱うような日付/時間のユースケースがJavaで十分にサポートされていないことは、Java開発者にとって長年の悩みの種でした。
と現在のJava提供元であるOracleですらそう述べています*1
Java8では以下のような新しい日時のためのAPIが新しく整備され、より厳密な日時操作が可能となっています。
- Instant
- LocalDate
- LocalTime
- LocalDateTime
- ZonedDateTime
- ZoneId
- OffsetTime
- ZoneOffset
- Period
- Duration
- ChronoLocalDate
- ChronoLocalDateTime
- ChronoZonedDateTime