日付の計算

日付計算用のクラスを作ってるんだが
自治体業務での年齢の考え方が普通じゃないんです。
法令では誕生日の前日に1歳年をとることになっている。
つまり、私11/1生まれなんだが10/31は29歳になってるってこと。
あと2/29生まれの人は2/28で一歳年を取るし
3/1誕生日の人は基準日がうるう年なら2/29,そうでないなら2/28で一歳加算と
面倒なことが多い。プログラムで結構嵌った。やっぱりセンスがないわ。