1. 概述
1.1 问题描述
在报表中经常要计算两个时间之间相差了多少小时多少分钟多少秒,常规的做法是先算出两个时间相差的总秒数,总秒数除以60求余得到秒数,总秒数除以60的商进位到分钟,然后照理对分钟进行计算,过程非常繁琐。用户希望通过简单的方法事项相差时分秒的计算,达到如下图所示的效果:
1.2 实现思路
分别计算小时差、分钟差和秒差,再拼接。
2. 示例
2.1 新建数据集
新建内置数据集,数据如下:
2.2 报表设计
在 A1、B1、C1 单元格中分别填入:开始时间,结束时间,相差时分秒,将开始时间拖入 A1 单元格中,结束时间拖入 B2 单元格中,如下图所示:
2.3 时间计算公式
1)选中 C2 单元格,输入计算公式:datesubdate(B2,A2,"h") + "小时" + datesubdate(B2,A2,"m") % 60 + "分钟" + datesubdate(B2,A2,"s") % 60 + "秒",如下图所示:
2)公式解析:
datesubdate(B2,A2,"h") :相隔小时数。
datesubdate(B2,A2,"m") % 60:相隔分钟数,大于60分钟的部分已经进位到小时,所以对60求余。
datesubdate(B2,A2,"s") % 60:相隔秒数,大于60秒的部分已经进位到分钟,所以对60求余。
2.4 效果预览
2.4.1 PC端
保存模板,分页预览,效果如 1.1 节所示。
2.4.2 移动端
App 与 HTML5 端效果相同,如下图所示:
3. 模板下载
点击下载模板:计算两个时间相差的时分秒.cpt