历史版本2 :计算两个时间相差的时分秒 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
1.1 问题描述
在报表中经常要计算两个时间之间相差了多少小时多少分钟多少秒,常规的做法是先算出两个时间相差的总秒数,总秒数除以60求余得到秒数,总秒数除以60的商进位到分钟,然后照理对分钟进行计算,过程非常繁琐。
有没有办法能够简单的计算两个时间相差的时分秒?如下所示:

1.2 实现思路
将时间统一转化为自1970年1月1日00:00:00GMT经过的毫秒数,相减后再转化为时分秒。
2. 示例编辑
2.1创建数据集
创建内置数据集,数据如下:

2.2 报表设计
如下

2.3 时间计算公式
选中 C2 单元格,输入计算公式:format(TODATE(datetonumber(B2)-datetonumber(A2)-8*3600*1000),"H时m分s秒")

疑点解析:8*3600*1000 即8小时换算成毫秒数。
这里减去8小时是应为datetonumber()函数返回的是自1970年1月1日00:00:00GMT经过的毫秒数。
GMT是格林尼治标准时间,北京时间比GMT时间快 8 小时,所以要减去 8 小时。
2.4 预览效果
PC端:

移动端:


