Javaには日付の処理を行うCalendarクラスがあります。
「Calendarクラスのaddメソッドについて知りたい」
「Calendarクラスのaddメソッドの基本的な使い方について知りたい」
「月またぎの問題の解決法を知りたい」
「月初と月末の計算方法について知りたい」
今回は、そんな悩みを解決するために、Calendarクラスのaddメソッドの使い方を、わかりやすく解説します!
なお、Javaの記事については、こちらにまとめています。
Calendarクラスのaddメソッドについて理解が深まったでしょうか?プログラミングスキルを磨く一方で、「これからのキャリアや収入も気になる」という方は、新しい環境での学びを検討してみるのも良いかもしれません。実践的なスキルを手に入れることで、未来の不安を解消し、より自由な働き方を目指すことができます。
このセミナーでは、生成AIとWeb制作を活用した収益化の流れを具体的に学べます。独立や副業を考えている方には特におすすめです。少しでも興味がある方は、セミナーの詳細を見て、自分に合った方法を探してみませんか?
addとは
Calendarクラスのaddメソッドは、Calendarのオブジェクトが保持している日時に対して、指定した値を加算/減算などの演算をするときに使用します。
public void set(int field, int value)
field:指定されたフィールドにCalendarクラスの定数などをセットします。(YEAR、MONTH、DAY_OF_MONTH)
addの基本的な使い方
以下にCalendarクラスのaddメソッドの基本的な使い方を記述します。
public class Main {
public static void main(String[] args) throws Exception {
/* addの基本的な使い方 */
Calendar cl = Calendar.getInstance();
// 年を1加算する
cl.add(Calendar.YEAR, 1);
System.out.println(cl.getTime());
// 月を1加算する
cl.add(Calendar.MONTH, 1);
System.out.println(cl.getTime());
// 日を1加算する
cl.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(cl.getTime());
// 年を減算する
cl.add(Calendar.YEAR, -5);
System.out.println(cl.getTime());
}
}
実行結果 Tue Mar 27 05:04:35 UTC 2018 Fri Apr 27 05:04:35 UTC 2018 Sat Apr 28 05:04:35 UTC 2018 Sun Apr 28 05:04:35 UTC 2013
サンプルではaddメソッドを使用して年、月、日の加算/減算などを行っています。
このようにaddメソッドを使用すれば、簡単に日時を変更することが可能です。
注意点として、CalendarクラスやDateクラスは、月またぎの問題があり、月を0から始めるため、例えば1月で設定したい場合は0を指定します。
月初と月末を取得する
ここでは、指定した年月日の月初と月末を取得する方法を説明します。
月初を取得する方法
月初を取得するには、CalendarクラスのgetActualMinimumメソッドを使用します。
以下に、月初を取得する方法を記述します。
public class Main {
public static void main(String[] args) throws Exception {
// 月初の計算
Calendar cl = Calendar.getInstance();
cl.set(2010,0,1);
int firstday = cl.getActualMinimum(Calendar.DAY_OF_MONTH);
System.out.println("firstday : " + firstday);
}
}
実行結果 firstday : 1
サンプルではCalendarオブジェクトにsetメソッドを使用して、取得したい月を引数で指定します。
次にgetActualMinimumメソッドを使用して、Calendarクラスの定数DAY_OF_MONTHを指定しています。
サンプルで使用しているsetメソッドについては、以下の記事で詳しく解説しています!
月末を取得する方法
月末を取得するには、CalendarクラスのgetActualMaximumメソッドを使用します。
以下に、月末を取得する方法を記述します。
public class Main {
public static void main(String[] args) throws Exception {
// 月末の計算
Calendar cl = Calendar.getInstance();
cl.set(2010,0,1);
int lastday = cl.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("lastday : " + lastday);
}
}
実行結果 lastday : 31
サンプルではCalendarオブジェクトにsetメソッドを使用して、取得したい月を引数で指定します。
次にgetActualMaximumメソッドを使用して、Calendarクラスの定数DAY_OF_MONTHを指定しています。
CalendarクラスのgetActualMaximumメソッドは、うるう年の2月なら29、うるう年でない場合は28を返します。
Calendarについてもっと詳しく知りたい方へ
Calendarのさまざまな使い方については、以下の記事にまとめていますので、ぜひ参考にしてくださいね!
まとめ
ここでは、Calendarクラスaddメソッドの基本的な使い方や注意点、月初と月末を取得する方法などを説明しました。
日付を扱う処理は、さまざまな場面で使用することがあると思います。
もし、Calendarクラスのgetメソッドの使用方法を忘れてしまったら、この記事を思い出してくださいね!






