1. 概述
1.1 问题描述
日期函数在平时工作与生活中使用非常广泛,在日期中添加或减去指定的时间间隔也显得尤为重要。
目前官方提供了一些日期函数的运用。详情参见:日期函数
但有时,需要获取「指定日期后N个(时/分/秒)的日期值」,如何处理呢?
1.2 实现思路
使用 TODATE 与 DATETONUMBER 函数结合计算。
2. 示例
2.1 新增公式列
新建分析主题,添加数据集。详情请参见5分钟上手FineBI。以当前时间now() = 「2024-07-02 10:16:08」为例,通过「新增公式列」,分别获取2小时后、2分钟后、2秒后的日期值,公式如下图所示:
同理:新增公式列「2小时后,2分钟后,2秒后」,公式分别为:
todate(DATETONUMBER(当前时间)+ 2 * 3600 * 1000) | 取2小时后 |
todate(DATETONUMBER(当前时间)+ 2 * 60 * 1000) | 取2分钟后 |
todate(DATETONUMBER(当前时间)+ 2 * 1000) | 取2秒后 |
公式解释:
序号 | 公式 | 说明 |
---|---|---|
1 | todate(DATETONUMBER(当前时间)+ N * 3600 * 1000) | 将当前时间转换成毫秒级+N时*每时3600秒*每秒1000毫秒,最后通过todate函数转换成标准日期值 |
2 | todate(DATETONUMBER(当前时间)+ N * 60 * 1000) | 将当前时间转换成毫秒级+N分*每分60秒*每秒1000毫秒,最后通过todate函数转换成标准日期值 |
3 | todate(DATETONUMBER(当前时间)+ N *1000) | 将当前时间转换成毫秒级+N秒*每秒1000毫秒,最后通过todate函数转换成标准日期值 |
2.2 效果查看
编辑完成后点击「保存并更新」,再点击「退出并预览」,效果如下图所示: