Works by

プログラミング等IT技術関連でメモする

【Java】Javaの日時/日付に関するAPI(Java8)

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