実生活により現実的な年齢を生成するコードを書きました。毎年、誕生日の日と月に合わせて年齢が上がると思いますので、技術的には長い年と短い年がありますが、私たち人間にとっては問題ではありません。これが私が思いついた解決策です。基本的にここで私の解決策を共有したかったのですが、誰かが共有するためのより良いアプローチを持っているかどうかも感謝しています.
def today= new GregorianCalendar()
def dob= new GregorianCalendar()
dob.set(Calendar.ERA, GregorianCalendar.AD )
dob.set(Calendar.YEAR, 1983 )
dob.set(Calendar.MONTH, Calendar.MAY )
dob.set(Calendar.DATE, 23)
userMonth=dob.get(Calendar.MONTH)
userDay=dob.get(Calendar.DATE)
todayMonth=today.get(Calendar.MONTH)
todayDay=today.get(Calendar.DATE)
if(todayMonth < userMonth && todayDay < userDay){
println today.get(Calendar.YEAR)-dob.get(Calendar.YEAR)-1
}else{
println today.get(Calendar.YEAR)-dob.get(Calendar.YEAR)
}