1. 概述
1.1 问题描述
日期函数在平时工作与生活中使用非常广泛,在日期中添加或减去指定的时间间隔也显得尤为重要。
目前官方提供了一些日期函数的运用。详情参见:日期和时间函数
例如:
函数 | 说明 |
---|---|
YEARDELTA(date, delta) | 返回指定日期后delta年的日期 |
MONTHDELTA(date,delta) | 返回指定日期 date 后 delta 个月的日期 |
DATEDELTA(date, deltadays) | 返回一个日期——date 后 deltadays 的日期。 |
但有时,需要获取「指定日期后N个(时/分/秒)的日期值」,如何处理呢?
1.2 实现思路
使用 TODATE 与 DATETONUMBER 函数结合计算。
2. 示例
2.1 创建报表
以A1单元格 = "2021-03-30 14:40:42" 为例:
需要分别获取 2 小时后,2分钟后,2秒后的日期值,写入公式如下:
todate(DATETONUMBER(A1)+ 2 * 3600 * 1000) | 取2小时后 |
todate(DATETONUMBER(A1)+ 2 * 60 * 1000) | 取2分钟后 |
todate(DATETONUMBER(A1)+ 2 * 1000) | 取2秒后 |
公式解释:
序号 | 公式 | 说明 |
---|---|---|
1 | =todate(DATETONUMBER(A1)+ N * 3600 * 1000) | 将当前时间转换成毫秒级+N时*每时3600秒*每秒1000毫秒,最后通过todate函数转换成标准日期值 |
2 | =todate(DATETONUMBER(A1)+ N * 60 * 1000) | 将当前时间转换成毫秒级+N分*每分60秒*每秒1000毫秒,最后通过todate函数转换成标准日期值 |
3 | =todate(DATETONUMBER(A1)+ N *1000) | 将当前时间转换成毫秒级+N秒*每秒1000毫秒,最后通过todate函数转换成标准日期值 |
注:若日期函数不合法,则会用当前时间进行计算。
2.2 效果查看
2.2.1 PC 端
2.2.2 移动端
App 与 HTML5 端效果相同,如下图所示:
3. 模板下载
点击下载模板:日期差-时分秒转换.cpt