报表知识库
计算两个日期型数据相差的天数
在报表设计过程中经常会遇到计算两个日期相差的天数,下面我们可以通过一下方式实现。
1. 在SQL中计算。
2. 在润乾的浏览式报表中使用daysAfter()函数来计算。
3. 在填报表中在自动计算中调用JS来实现。
下面我们就以一个小例子,着重介绍一下第3种情况。
报表数据集设计为:Ds1: SELECT * FROM 订单
报表设计如下图所示:
E2就是我们要计算出到货日期与发货日期相差的天数,在该单元格的自动计算中调用dmd(${B2}.toString(),${C2}.toString()),在页面中定义如下所示的JS代码:
<script language=”javascript”>
//计算发货时间与到货时间的间隔
function dmd(sdate, fdate){
var m, d1, d2, days
m = sdate.split(”-”)
d1 = new Date(m[1] + ‘-’ + m[2] + ‘-’ + m[0])
m = fdate.split(”-”)
d2 = new Date(m[1] + ‘-’ + m[2] + ‘-’ + m[0])
days = parseInt(Math.abs(d1 – d2) / 1000 / 60 / 60 /24)
return days
}
</script>
这样在浏览这个报表时,E2单元格中就能正常显示出,发货时间与到货时间的间隔天数了,我们预览下实现后的效果。