gpt4 book ai didi

java - 在 Groovy 中计算一个人的详细年龄?

转载 作者:行者123 更新时间:2023-12-01 23:28:14 26 4
gpt4 key购买 nike

我想通过以下方式计算一个人的年龄:

设 x 为人的年龄。

  • 如果 x < 1 周,则返回年龄(以天为单位)
  • 如果 1 周 < x < 1 个月,返回年龄(以周为单位)
  • 如果 1 个月 < x < 1 年,返回年龄(以月为单位)
  • 如果 1 年 < x 返回年龄(以年和月为单位)

如何计算这种年龄函数?

最佳答案

处理日期时,我建议您使用 Joda-Time ( http://www.joda.org/joda-time/index.html )。然后你就可以这样做:

import org.joda.time.DateTime
import org.joda.time.Period

String getAge(birthday) {
def period = new Period(birthday, new DateTime())

int years = period.getYears()
int months = period.getMonths()
int weeks = period.getWeeks()
int days = period.getDays()

String age

if (years > 0) {
age = "${years} year(s) and ${months} month(s)"
} else if (months > 0) {
age = "${months} month(s)"
} else if (weeks > 0) {
age = "${weeks} week(s)"
} else {
age = "${days} day(s)"
}

return age
}

有关详细信息,请查看 DateTime ( http://www.joda.org/joda-time/apidocs/org/joda/time/DateTime.html ) 和 period ( http://www.joda.org/joda-time/apidocs/org/joda/time/Period.html ) 的文档。

既然您用 Grails 标记了您的问题,我猜您的 Grails 项目需要此功能。如果是这样,您可以使用 Joda-Time 插件 ( http://grails.org/plugin/joda-time ) 添加所需的依赖项。

关于java - 在 Groovy 中计算一个人的详细年龄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19711629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com