致远OA表单自定义函数(计算N年后今天的日期 )
需求背景
看到这个标题,可能好些人懵了,N年后的今天这么简单,还需要计算么?
的确,人脑算很简单,但是咱们的表单中……
前日,有人跟大表哥来电,就说客户要根据档案的归档日期和保存年限,自动计算出档案的销毁日期。说白了,就是要计算出N年后同月同日那天的日期。貌似简单,可是在咱们表单中,目前还真没有找到快捷的方法计算出来,就因为公历中有闰年。
但是,问题难不倒咱,试试咯。结果,兜兜转转,还是能得到想要的结果。
根据现有的函数和计算方式,需要增加3个参数:试算日期,试算日期年,试算日期误差天数(实际使用时,这3个字段请勿显示在表单视图页面中)。
计算公式设置如下:
1.试算日期:试算日期等于存档日期加上保存年限乘以365。
calcDate({存档日期},{保存年限}*365)
2.试算日期年:取出试算日期的年度(用来判断这年是否闰年,注意2100年是平年)。
year({试算日期})
3.试算日期误差天数:用来计算试算日期和真实的销毁日期之间相差多少天。
4.销毁日期:用试算日期加上误差天数。
calcDate({试算日期},{相差天数})
最后,上图!
对了,这个方法可不是万能的!当保存年限不大于110时,试算日期误差天数计算才是正确的,即上述计算公式只适用于保存年限在110年及以内的场景。
以上就是致远OA表单计算N年后今天的日期的分享,脚本用的语言是groovy 。