【Java入門】Calendarクラスの使い方総まとめ

JavaではCalendarクラスを使用して、現在の日時を取得したり、指定したフォーマットで日時を取得、日時の演算など、さまざまな日付処理を行うことが可能です。


【基礎】Calendarクラスとは
【基礎】Calendarクラスの基本的な使い方
【発展】日付のフォーマットを指定する方法
【発展】日付を設定する方法
【発展】日付を計算する方法
【発展】Dateクラス⇔Calendarクラスを変換する方法

今回はそんなCalendarクラスの使い方について、わかりやすく解説します!

Calendarクラスとは

Calendarクラスとは、現在の年月日を取得したり、指定した日時の設定や加算・減算、日時を比較するなど、日時を扱うさまざまな処理が可能なクラスです。

使用するにはimport java.util.Calendarを指定します。

Calendarクラスは、new演算子でオブジェクトを生成するのでなく、getInstanceメソッドをを使用して作成します。

Calendarクラスのオブジェクトは以下のように生成します。

getInstanceメソッドは、オブジェクトを生成する度に、現在の年・月・日に初期化された状態でオブジェクトを返します。

Calendarクラスの使い方

ここでは、実際にCalendarクラスの使い方を見ていきましょう

以下のサンプルでは、getメソッドで現在の年・月・日をそれぞれ取得しています。

サンプルでは、Calendarクラスのオブジェクトclを作成し、clに対してgetメソッドを使用して年・月・日をそれぞれ取得しています。

しかし、月に関しては月またぎの問題で0が1月となります。そのため、紛らわしさを回避するためには、以下のように記述する必要があります。

これで現在の月である6が出力されます。

そんなCalendarクラスの基本的な使い方や、日付を計算する方法などについては、以下の記事で詳しく解説しています。

フォーマットを指定する方法

日付を取得するとき、「yyyy年MM月dd日」「yyyy/MM/dd」など、フォーマットを指定したい場合もあるかと思います。

日付や時刻のフォーマットを指定する場合は、SimpleDateFormatクラスを使用します。

SimpleDateFormatクラスを使用するためには、import java.text.SimpleDateFormatを指定します。

SimpleDateFormatクラスは以下のように記述します。

SimpleDateFormatクラスを使用して、日付のフォーマットを指定する方法の詳細については、以下の記事で詳しく説明しています!

日付を設定する方法

カレンダーの年・月・日などの要素を指定した値に設定するにはCalendarクラスのsetメソッドを使用します。

Calendarクラスで用意されているYEAR、MONTH、DATEなどの定数を指定して、年・月・日の単位ごとや年月日をまとめて取得することができます。

setメソッドは第一引数のフィールドにCalendarクラスの定数を指定し、第二引数に値を指定します。

Calendarクラスのsetメソッドの使用方法については、以下の記事で詳しく解説しています。

日付を計算する方法

Calendarクラスのオブジェクトが保持している日時に対して、値を指定して加算・減算して日時を取得するには、Calendarクラスのaddメソッドを使用します。

addメソッドは第一引数のフィールドにCalendarクラスの定数を指定し、第二引数に値を指定します。

Calendarクラスのaddメソッドの使用方法については、以下の記事で詳しく解説しています。

Date⇔Calendarの変換方法

DateクラスもCalendarクラス同様日付を扱うクラスです。

Calendarクラスは、日付のフォーマットを指定したり、日付や時刻を演算できるのに対して、Dateクラスは1970年1月1日0時からの経過時間を持ち、指定した日付や時刻を取得するときに使用します。

そんなDateクラスとCalendarクラスは、それぞれ取得した値を相互変換することができます。

相互変換の詳しい方法については、以下の記事で解説しています!

まとめ

ここではCalendarクラスの基本的な使い方や、フォーマットを指定する方法、指定した値で日付を演算する方法、Dateクラスとの相互変換の方法などについて紹介しました。

JavaではCalendarクラスを使用してさまざまな日付の処理が可能です。

もし、Calendarクラスの使い方を忘れてしまったら、この記事を思い出してくださいね。

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説