comparedate比较两个时间相差的天数不生效
作者:周郑
发布时间:2021-06-18
点击数:
业务场景:选择某个时间后,与另外一个时间进行比较,得到两个时间相差的天数。
现象:通过模板设置编辑公式,使用comparedate函数。选择时间后,比较两个时间相差的天数不生效。
不生效时候模板设置如下:
备注:
A->effectdate;
B->getcolvalue(HR_LZTX,BMDATE,pk_psndoc,pk_psndoc );
离职时间1->A;
禁止->comparedate(A,B,"D")
//HR_LZTX为视图名称;BMDATE为视图的一个字段。
不生效时候现象如下:
原因分析: 原因分析为comparedate函数传参错误导致。comparedate正确传参为
comparedate('YYYY-MM-DD hi:ss:tt','YYYY-MM-DD hi:ss:tt',"D")
解决方案: 重新设置模板编辑公式如下:
备注:公式如下:
A->effectdate;
B->getcolvalue(HR_LZTX,BMDATE,pk_psndoc,pk_psndoc );
离职时间1->A;
保密->B;
禁止->comparedate(tostring(A)+" 00:00:00",tostring(B)+" 00:00:00","D")
正常现象如下:
总结:
comparedate正确用法为:comparedate('YYYY-MM-DD hi:ss:tt','YYYY-MM-DD hi:ss:tt',"D") 一定要保证传入的时间参数为“年月日时分秒”格式,否则该函数无效!