报表知识库
我要提问

日期差的计算

在实际应用中,计算两个日期相差的天数是十分常见的需求。润乾报表中计算两个日期的相差天数在设计器中一般分为两种方法:

第一种是不需要自动计算的,直接从数据集中或者通过参数传递取到两个日期,通过润乾自带函数daysAfter(datetime2(@arg1,’yyyy-MM-dd’),datetime2(@arg2,’yyyy-MM-dd’))进行计算得到两个日期的相差天数(arg2-arg1);

第二种是在填报表中,需要通过自动计算得到两个日期的相差天数,此时就需要在结果的单元格的填报属性-自动计算中加入js,比如fun(${C2}.toString(),${D2}.toString()),来计算C2和D2两个单元格日期的相差天数,同时在发布报表的jsp中加入相应的js脚本:

<script launguage=”javascript”>
function fun(cellOne,cellTwo) {
var now=new Date(cellTwo.substring(0,4),cellTwo.substring(5,7)-1,cellTwo.substring(8,10));
var before=new Date(cellOne.substring(0,4),cellOne.substring(5,7)-1,cellOne.substring(8,10));
var date = now.getTime() – before.getTime();
return Math.floor(date / (1000 * 60 * 60 * 24));
}
</script>
引自:润乾报表知识库
相关文章:显示值or真实值?——谈谈导出excel的数据显示可树形展开的折叠报表的制作横向分页报表的标题切分用润乾报表轻松实现动态排序浏览式报表中如何使用checkbox