【FineBI学习打卡】DAY85 非完整日期时间差计算

楼主
我是社区第1095980位番薯,欢迎点我头像关注我哦~

第85天知识点:非完整日期时间差计算

 

一般,我们计算时间差都是按几天、几月以及几年这种完整的时间间隔来进行计算。

但有些时候,我们需要计算的时间差并不是一个完整的天、月、年。

比如:距指定日期半天后;

         距现在15分钟后;

         距现在3小时20分钟后。

对于这类不是完整天数的时间间隔,直接用DATEDELTA函数可以吗?

我们来试试看,以计算指定日期半天后时间为例。

结果如下:

结果证明,不可以!

那对于这类时间差该如何进行计算呢?

这里,需要借助2个函数。

第一个,DATETONUMBER函数。DATETONUMBER函数会将日期转化为13位时间戳。

时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数。

具体用法可参考下方函数卡片。

第二个,就是TODATE函数。TODATE函数可以将各种日期形式的参数转换为日期类型。 

以下是TODATE函数的具体用法。

(整理自帆软帮助文档)

了解这两个函数之后,就好办了。

首先,通过DATETONUMBER函数计算出指定日期前/后任意时间的日期对应的时间戳。

然后,借助TODATE函数将上面计算出来的时间戳转化为指定格式的日期。

这样,对于不完整天数的时间差,也能轻松计算出来。

回到FineBI中,我们看一下具体的操作方法。

01
案例背景

计算指定销售日期6小时15分钟后对应的时间,下面今天用到的数据表。

 

02
案例分析

前面我们尝试使用了DATEDELTA函数去计算,发现不可行。这里,我们使用TODATE结合DATETONUMBER函数去进行计算。

03
操作步骤

首先,使用DATETONUMBER函数将指定日期转化为时间戳,并加上或减去所需的时间,大家记得一定要将时间转换为毫秒!

6小时15分钟,转化成毫秒就是6*60*60*1000+15*60*1000,写成公式就是:

结果如下:

这里计算出来的是日期对应的毫秒数,但是这样的日期格式不直观,所以,我们还需要借助TODATE函数转化一下日期格式。

结果如下:

这样就得到了我们想要的结果。

熟练的话,可以直接将上述两个公式合并成一个。

当然,你还可以计算任意分钟、秒或者小时分钟秒后的时间,只需要将相应的时间转换为毫秒,并加到现有的日期上,然后转化成指定格式的日期即可。

 

今天关于如何计算不完整天数时间差的技巧就分享到这里。

感兴趣的小伙伴可以自己动手尝试一下。

分享扩散:
参与人数 +1 F币 +40 理由
Nancy.Gu + 40 原创内容激励计划

查看全部评分

沙发
发表于 2024-10-24 17:29:28
感谢您的投稿!本文介绍了如何借助DATETONUMBER和TODATE函数计算非完整天数的时间差,通过详细的步骤和案例,清晰易懂地呈现了相关问题的操作和解决方法,进一步体现FineBI的强大功能。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表