报表知识库
我要提问

计算两个日期型数据相差的天数

在报表设计过程中经常会遇到计算两个日期相差的天数,下面我们可以通过一下方式实现。

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单元格中就能正常显示出,发货时间与到货时间的间隔天数了,我们预览下实现后的效果。