これらを実現するのに、たまにスパゲッティプログラムを見かける。。。
シンプルに実現できると気持ちがいいもんだし、メモっておく。
・うるう年。
「4で割り切れて、かつ100で割り切れない年。ただし、400で割り切れたらうるう年」
if((year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0))) {
return true;
}
・生年月日から現在の年齢を算出。
「(現在の西暦(int) − 生年月日(int)) / 10000」
int age = (20100929 - 19780908) / 10000;
・2つの日付の差を求める
long diff = date.getTime() - date2.getTime();
return ( diff / 1000 / 60 / 60 / 24 );
・ある期間Aと期間Bが重複しているか。
「 Aの開始 ≦ Bの終了 && Bの開始 ≦ Aの終了が真の時」
上記の日付の差を求めるメソッドを使って。
boolean flg1 = (getBetweenDay(ed_BDate, st_ADate) >= 0);
boolean flg2 = (getBetweenDay(ed_ADate, st_BDate) >= 0);
return (flg1 && flg2);
また、思い出したり、見かけたりしたら追加していこうっと。