0

我为 HR 部门创建了 Lotus Notes 数据库。我输入了字段加入日期。还输入了“总服务期”字段。我想在“查看”中获取计算出的服务年数、月数和天数,并每天更新服务期。

4

2 回答 2

0

这只是我七年前在 Lotus Notes 和 Domino 4 和 5 论坛上发布的公式 的重新发布:

startDate := Time1;
endDate := Time2;
startDay := @Day(startDate);
endDay := @Day(endDate);
startMonth := @Month(StartDate);
endMonth := @Month(endDate);
startYear := @Year(startDate);
endYear := @Year(endDate);
lessAYear := @If(endMonth > startMonth;@False; (endMonth = startMonth) & (endDay >= startDay); @False; @True);
yearsDiff := @If(lessAYear; endYear - startYear - 1; endYear - startYear);
@Set("endDate"; @Adjust(endDate;-yearsDiff;0;0;0;0;0));
monthAdj := @If(startDay>endDay;-1;0);
monthsDiff := @If(lessAYear; (endMonth + 12) - startMonth + monthAdj; endMonth - startMonth + monthAdj);
@Set("endDate";@Adjust(endDate;0;-monthsDiff;0;0;0;0));
daysDiff := @Integer((endDate - startDate)/86400);
@Prompt([Ok];"";@Text(yearsDiff) + "years, " + @Text(monthsDiff) + " months, and " + @Text(daysDiff) + " days.")
于 2010-09-24T10:32:55.783 回答
0

没有完全测试这个,只是为了好玩,我想分享这个公式:

diff:= @Adjust(endDate; -@Year(startDate); -@Month(startDate)+1;
               -@Day(startDate)+1; 0; 0; 0);
y:= @Year(diff);
y:= @If(@IsError(n); 0; n>100; 0; n)

我假设可以以类似的方式计算月份和天数。

于 2015-09-27T23:35:51.903 回答