java - 在java中年龄计算返回错误值

标签 java jodatime

In java I want to calculate age..

我正在使用“jodatime.jar”

LocalDate today = LocalDate.now();
LocalDate birthdate = new LocalDate ("1990-12-12");
Years age = Years.yearsBetween(birthdate, today);

我希望年龄为 integer ..这里它返回像P25Y这样的值..如何获取年龄的整数值..我只想要25

有没有其他方法可以用日期格式在java中获取年龄。在谷歌中我尝试了很多,但没有找到任何使用日期格式的正确示例

最佳答案

使用 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 进入 Java 8 或更高版本类(class)LocalDatePeriod ,那么可以这样实现:

        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

关于java - 在java中年龄计算返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34310140/

相关文章:

java - Windows 7 上 Apache Tomcat 8 的 %CATALINA_HOME% 环境变量

java - joda yyyy-MM-dd'T'HH :mm:ss. SSSZZ 和 ISO (wiki) 日期格式有什么区别?

java - Joda 日期格式问题

java - JodaTime 是否错误地解析了这个日期时间?

java - 如何将日期格式的 JSpinner 值存储到 JodaTime 变量中?

java - 获取没有错误消息的 IOException Android

java 递归链表

java - getWindowHandles() 在 Firefox 58 中不起作用。焦点保留在父选项卡上,不会转移到下一个选项卡

java - 在线性布局中将 TextView 置于 ImageView 正下方

java - 将 joda 时区映射到 windows 时区(例如在 C# 中)