Crystal reports 如何在Crystal报表中以年/月/天为单位计算年龄

Crystal reports 如何在Crystal报表中以年/月/天为单位计算年龄,crystal-reports,Crystal Reports,我想用出生日期和当前日期计算年龄。结果应该是“年-月-日”。我该怎么办?请帮忙 我想试试这个,但不是很好 DateDiff(“yyyy”,生日,当前日期) 如果当前日期为2015年5月20日,出生日期为1991年6月1日,结果为24,但如果(不是(isNull({@birthdate}))则应为23年5个月19天 If (Not(isNull({@birthdate}))) Then ToText(int(DateDiff('d',{@birthdate},CurrentDate())/365.

我想用出生日期和当前日期计算年龄。结果应该是“年-月-日”。我该怎么办?请帮忙

我想试试这个,但不是很好

DateDiff(“yyyy”,生日,当前日期)

如果当前日期为2015年5月20日,出生日期为1991年6月1日,结果为24,但如果(不是(isNull({@birthdate}))则应为23年5个月19天
If (Not(isNull({@birthdate}))) Then
ToText(int(DateDiff('d',{@birthdate},CurrentDate())/365.25),0)+' Years '+
ToText(int(remainder(DateDiff('d',{@birthdate},CurrentDate()),365.25)/30),0)+' Months '+
If day(CurrentDate()) < Day({@birthdate}) Then
ToText(day(dateserial(year({@birthdate}), Month({@birthdate})+1,1-1)) - Day({@birthdate}) + Day(CurrentDate()),0) + ' days'
Else
 ToText(day(CurrentDate()) - day({@birthdate}),0) + ' days'
ToText(int(DateDiff('d',{@birthdate},CurrentDate())/365.25),0)+'Years'+ ToText(int(余数(DateDiff('d',{@birthdate},CurrentDate()),365.25)/30),0)+'Months'+ 如果day(CurrentDate()) 没有十全十美的,但效果很好。。这里有一篇文章可以阅读,也许对你也有帮助

2015年5月20日是什么日子?@CoSpringsGuy 5月20日致所有不在美国的人States@CoSpringsGuy这是当前日期这个公式似乎很有效,但我在1977年5月29日遇到了一个异常情况;该公式返回40年11个月28天,而不是40年10个月28天。似乎与我测试数据中的其他日期配合得很好。这显然是有原因的,但我没有时间进一步研究。我只是想让你知道。这是一个非常好且简单的示例,但如果添加了一些功能,在天之前插入一个(and或&),以使其看起来更专业,并且仅当有一天以上时才显示“天”,如果是一天,则仅显示“天”。@Omer。。谢谢你的评论。。。我同意你的意见,关于一些调整,以更专业的输出,但我的目标是给OP的功能,工作。