历史版本4 :获取指定日期后N个(时/分/秒)的日期值 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

日期函数在平时工作与生活中使用非常广泛,在日期中添加或减去指定的时间间隔也显得尤为重要。

目前官方提供了一些日期函数的运用。详情参见:日期和时间函数

例如:dateadd()日期差函数:

函数说明
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 效果查看


3. 模板下载编辑

点击下载模板:日期差-时分秒转换.cpt