在java中我想计算年龄..
我正在使用" jodatime.jar"
LocalDate today = LocalDate.now();
LocalDate birthdate = new LocalDate ("1990-12-12");
Years age = Years.yearsBetween(birthdate, today);
我希望年龄为integer
..此处返回的值类似于 P25Y ..如何获取年龄的整数值..我只想 25 < / p>
有没有其他方法可以在日期格式的java中获得年龄..在谷歌我已经尝试了很多但没有找到任何使用日期格式的正确示例
答案 0 :(得分:5)
使用joda-time
您可以使用Period在joda time
api中实现此功能。尝试这样的事情:
Period period = new Period(d1, d2);// d1,d2 are Date objects
System.out.print("You are " + period.getYears() + " years old");
使用java.time
如果您可以使用java.time类LocalDate
和Period
使用Java 8或更高版本,那么可以这样实现:
LocalDate today = LocalDate.now();
LocalDate birthday = LocalDate.of(1990, Month.DECEMBER, 12);
Period p = Period.between(birthday, today);
System.out.println("You are " + p.getYears() + " years old");
输出
You are 25 years old
答案 1 :(得分:3)
使用age.getYears()
获取int
年龄值。
答案 2 :(得分:0)
您可以使用IF %ERRORLEVEL% NEQ 0 GOTO :eof
。来自doc
获取此期间所代表的年数。
答案 3 :(得分:0)
msbuild
不是age.getYears()
,而是age
。如果要将年龄检索为整数,请使用Integer
方法:
Years
答案 4 :(得分:0)
如果你想继续使用jodattime,你应该知道,它有一种获取年份的方法:.getYears()
如果您只想获得年龄,请使用公历来获取年份并将其与当前年份进行比较:
Calendar date = new GregorianCalendar(2012, 9, 5);
int birthyear = date.get(Calendar.YEAR); // 2012
Date currdate = new Date();
Calendar date2 = new GregorianCalendar();
date2.setTime(currdate);
int curryear = date.2get(Calendar.YEAR); // current year(2015 atm)