时间的计算
更新日期:2021年3月22日
客户需求:用户计算工人的工作时间,比如每天从16:00上班,20:00下班,得到一个今天的上班时长为4:00,月末时能得到总的时长是多少。
难点:这个问题看似简单,直接用Excel公式相减即可得到。但是excel公式直接相减得到的是个小数,并不是一个时间。另外还要支持手机端和web端,就不能直接用excel公式。需要用勤哲excel服务器表间公式实现。
实现具体步骤如下:
一、首先我们先建立一个模拟的测试模板,模板格式及模板的数据项定义如下:
二,设计表间公式,计算时长包括两种形式,一种时间形式,一种数字形式。计算时间形式的基本原理是先计算出两个时间间隔的分钟数,再除以60并取整,得到小时数和剩余分钟数,转换成字符形式并按时间格式进行拼接,最后再转换成日期类型
提取<>中满足下列条件的数据:
<数据筛选: 分钟值(本报表.时间计算_主表.结束时间) >0
并且 分钟值(本报表.时间计算_主表.开始时间) >0>
按以下方式填入<时间计算_主表> :
转日期(转文字(向下取整(间隔时间(mi,本报表.时间计算_主表.开始时间,本报表.时间计算_主表.结束时间)/60.000)) & ':'&转文字(间隔时间(mi,本报表.时间计算_主表.开始时间,本报表.时间计算_主表.结束时间)-向下取整(间隔时间(mi,本报表.时间计算_主表.开始时间,本报表.时间计算_主表.结束时间)/60.000)*60) ) --->(填入值)时长
间隔时间(mi,本报表.时间计算_主表.开始时间,本报表.时间计算_主表.结束时间)/60.000 --->(填入值)小时数