我写了一段代码,使现实生活更加真实。我认为,每当我们遇到生日的日期和月份时,我们每年都会增加年龄,所以从技术上来说,有些年份更长,有些则更短,但对我们这些人来说并不重要。这是我提出的解决方案,我基本上想在这里分享我的解决方案,如果有人有更好的分享方法,我也很感激。
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)
}
答案 0 :(得分:0)
这是一个开放式问题,因此您可能需要考虑将其变为不那么主观的内容。
话虽如此,我的意思是使用joda-time,在这种情况下你可以这样做:
import org.joda.time.DateTime
import org.joda.time.Years
def yob = new DateTime(1983, 12, 10, 0, 0).toDateMidnight()
def now = DateTime.now().toDateMidnight()
def years = Years.yearsBetween(yob, now).getYears()
println "Years: $years"
如果你只想分享你的代码供其他人使用(顺便说一下,这很棒),也许你想创建a gist。
[编辑]我刚刚创建了一个,here
祝你好运!