[ Java ] 月の最終日を取得する ( Calendar.getActualMaximum )

Pocket

ここでは、Java である月の最終日(月の日数)を取得するサンプルプログラムを掲載しています。

スポンサーリンク

月の最終日を取得する

月の最終日を取得するサンプルスクリプトです。ここでは、java.util.Calendar を使用して取得しています。詳細はサンプル内のコメントも参照ください。

//import java.util.Calendar;

// カレンダークラスのインスタンス取得
Calendar cal = Calendar.getInstance();

int years  = 2016; // 2016年
int months = 10 - 1; // 10月(1月から0始まり)
cal.set(years, months, 1);

// 月(1016年10月)の最終日を取得する
// Calendar.DAY_OF_MONTH は Calendar.DAYE のシノニムである
// 従って、どちらの定数を設定してもよい。因みに値は5
int dayMax =  cal.getActualMaximum(Calendar.DAY_OF_MONTH); // 31

もしもアスカが家庭教師だったら

西暦は0年があるため値=西暦で扱っていますが、月は1月~12月(インデックス:0~11)となっています。月くらいは、値=月としても良いと感じるのは私だけでしょうか?確か、Javascript も同じように0始まりのインデックスを採用していたと思います。

が、インデックスと言うよりも、値=月とした場合に、どのような不都合があるのでしょうか?識者の方、何卒、ご教示お願いいたします。

 

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *