[Java][Android] CalendarのDAY_OF_MONTH, DAY_OF_WEEK, DAY_OF_YEARの違い

とある日付が今日と同じかどうかの関数(isToday())を作った際に、わからなかったのでまとめます。

下記がその関数(isToday())です。

理屈は簡単で、比べたい日付のCalendarクラスを渡すだけで、今日かどうかを返してくれます。
内部では今日のCalendarクラスを取得してきて、ERA, YEAR, DAY_OF_YEARを比べて同じかを見ています。
はいここでERAって何?DAY_OF_YEARって何?という疑問が枠と思うのでまとめました。

名前 意味
Calendar.ERA 英訳すると「時代」という意味ですが、ユリウス暦の AD(1) または BC(0)(紀元前)などの年代を示します。なのでなくてもいいかも 0(BC) or 1(AD)
Calendar.DAY_OF_YEAR 1月1日を1として該当日までの合計を返します。 283
Calendar.DAY_OF_MONTH ある月の初日を1として該当日までの合計を返します 28
Calendar.DAY_OF_WEEK ある週の日曜日を1として、該当日までの合計を返します 5(木曜日)

参考文献

What’s the difference between adding DAY_OF_MONTH or DAY_OF_YEAR to a Calendar object? – Stack Over Flow

スポンサーリンク
レクタングル(大)