Javaの日時操作についてです。
Javaの日時操作
Javaで日時操作を行うクラスには、Date系、Calendar系、LocalDate系の3つがあります。
- Date系
- JDK1.0から存在する古いクラスで、タイムゾーンを扱えない等の欠点があるためJava8以降では非推奨となっています。
- Calendar系
- JDK1.1で追加された日時を扱うクラスです。
- LocalDate系
- Java8で追加された比較的新しいクラスで、現在はこのクラスを使用して日時操作をすることが推奨されています。
日時を扱うAPI
API | 種類 | メモ |
---|---|---|
java.util.Date | クラス | JDK1.0から存在する日時を表すためのクラス。 多くの欠点があるためJava8以降は非推奨。 |
API | 種類 | メモ |
---|---|---|
java.util.Calendar | 抽象クラス | 日付と時間の計算や操作を行うための抽象クラス |
java.util.GregorianCalendar | クラス | レゴリオ暦に基づいた実装を提供するクラス java.util.Calendarを継承している |
java.text.DateFormat | 抽象クラス | 日付と時刻のフォーマットを行うための抽象クラス |
java.text.SimpleDateFormat | クラス | Date型やCalendar型をフォーマット変換するクラス スレッドセーフではない。 |
API | 種類 | メモ |
---|---|---|
java.time.LocalDate | クラス | タイムゾーンのない日付を扱うクラス |
java.time.LocalTime | クラス | タイムゾーンのない時間を扱うクラス |
java.time.LocalDateTime | クラス | タイムゾーンのない日時を扱うクラス |
java.time.YearMonth | クラス | 年月を表すために使用されるクラス |
java.time.Instant | クラス | 特定の瞬間を表すために使用されるクラス |
java.time.Duration | クラス | 2つの時刻間の時間の経過を表現するためのクラス |
java.time.Period | クラス | 2つの日付間の時間の経過を表現するためのクラス |
java.time.ZoneId | クラス | タイムゾーンを表すためのクラス |
java.time.ZonedDateTime | クラス | タイムゾーン情報を含む日時を表現するためのクラス |
java.time.format.DateTimeFormatter | クラス | 日時オブジェクトを文字列にフォーマットしたり、文字列を日時オブジェクトにパースしたりするためのクラス |
コメント