历史版本18 :日期函数概述 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. DATE编辑

概述

类别描述
函数写法

DATE(year,month,day)

函数作用

根据年月日返回特定的日期

参数说明

year:代表年,可以是 1~4 位数

month:代表月份,若 month<12,则函数把参数值作为月。若 month>12,则函数从年的一月份开始往上累加

day:代表日,若日期小于等于某指定月的天数,则函数将此参数值作为日。若日期大于某指定月的天数,则函数从指定月份的第一天开始往上累加。若日期大于两个或多个月的总天数,则函数把减去两个月或多个月的余数加到第三或第四个月上,依此类推

参数个数3
参数类型数值
返回值类型日期
备注

若需要处理公式中日期的一部分,如年或月等,则可用此公式

若年、月、日是函数而不是函数中的常量,则此公式最能体现其作用

示例

公式结果
DATE(1978,9,19)1978-09-19
DATE(2020,14,46)2020-14-46

2. DATEDELTA编辑

概述

类别描述
函数写法

DATEDELTA(date, deltadays)

函数作用

某个日期往前或往后推几天

参数说明

date:某个日期

deltadays:天数,可以是正值、负值、零。正值表示后推,负值表示前推

参数个数2
参数类型日期,数值
返回值类型日期

示例

公式结果
DATEDELTA("2008-08-08", -10)2008-07-29
DATEDELTA("2008-08-08", 10)2008-08-18

3. DATEDIF编辑

概述

类别描述
函数写法

DATEDIF(start_date,end_date,unit)

函数作用

返回两个指定日期间的天数、月数或年数

参数说明

start_date:日期左区间

end_date:日期右区间

unit:函数返回信息的类型

参数个数3
参数类型日期,日期,文本
返回值类型数值
备注

若 unit=“Y”,则 DATEDIF 返回指定时间段的年差数

若 unit=“M”,则 DATEDIF 返回指定时间段的月差数

若 unit=“D”,则 DATEDIF 返回指定时间段的日差数

若 unit=“MD”,则 DATEDIF 忽略年和月,返回指定时间段的日差数

若 unit=“YM”,则 DATEDIF 忽略年和日,返回指定时间段的月差数

若 unit=“YD”,则 DATEDIF 忽略年,返回指定时间段的日差数

示例

公式结果
DATEDIF("2001/2/28","2004/3/20","Y")3
DATEDIF("2001/2/28","2004/3/20","M")36
DATEDIF("2001/2/28","2004/3/20","D")1116
DATEDIF("2001/2/28","2004/3/20","MD")21
DATEDIF("2001/1/28","2004/3/20","YM")2
DATEDIF("2001/2/28","2004/3/20","YD")21

4. DATESUBDATE编辑

概述

类别描述
函数写法

DATESUBDATE(date1,date2,op)

函数作用

返回两个日期之间的时间差

参数说明

date1:日期左区间

date2:日期右区间

op:表示返回的时间单位,"s" 以秒为单位,"m" 以分钟为单位,"h" 以小时为单位,"d" 以天为单位,"w" 以周为单位

参数个数3
参数类型日期,日期,文本
返回值类型数值

示例

公式结果
DATESUBDATE("2008-08-08","2008-06-06","h")1512

5. DAY编辑

概述

类别描述
函数写法

DAY(serial_number)

函数作用

返回日期中的日

参数说明

serial_number:一个日期

参数个数0 或 1(参数为空时表示今天)
参数类型日期 / 数值(数值是指系列数,见备注)
返回值类型数值(1~31之间)
备注在 1900 年日期系统中,将 1900-01-01 保存为系列数 2,将 1900-01-02 保存为系列数 3,将 1900-01-03 保存为系列数 4……依此类推,1998-01-01 存为系列数 35796,这样的系列数也是可以作为 DAY 函数的参数的

示例

公式结果
DAY("2000/1/1")1
DAY("2006-05-05","yyyy-MM-dd")5
DAY(35796)1
DAY()今天日期中的日

6. DAYS360编辑

概述

类别描述
函数写法

DAYS360(start_date,end_date,method)

函数作用

按照一年 360 天的算法(每个月以 30 天计,一年共计 12 个月),返回两日期间相差的天数

参数说明

start_date:日期左区间

end_date:日期右区间

method:非必填项,它指定了在计算中是采用欧洲方法还是美国方法,FALSE 或者忽略使用美国(NASD)方法,TRUE 使用欧洲方法

参数个数2 或 3
参数类型日期,日期,逻辑值
返回值类型数值

示例

公式结果
DAYS360("1998/1/30","1998/2/1")1

7. DAYVALUE编辑

概述

类别描述
函数写法

DAYVALUE(date)

函数作用

返回 1900 年至 date 日期所经历的天数

如果 date 参数不合法,则返回 1900-01-01 到当前时间所经历的天数

如果 date 是数字类型,当 date 大于 1000000 时,会被当作是 Unix 时间;当 date 小于或等于 1000000 时,会被当作是距 1900-01-01 的天数

参数说明

date:一个日期

参数个数1
参数类型日期 / 数值(数值是指系列数,见备注)
返回值类型数值
备注在 1900 年日期系统中,将 1900-01-01 保存为系列数 2,将 1900-01-02 保存为系列数 3,将 1900-01-03 保存为系列数 4……依此类推,1998-01-01 存为系列数 35796,这样的系列数也是可以作为 DAYVALUE 函数的参数的

示例

公式结果
DAYVALUE("2008/08/08")39667
DAYVALUE(1000001)25568

8. HOUR编辑

概述

类别描述
函数写法

HOUR(serial_number)

函数作用

返回某一指定时间的小时数

参数说明

serial_number:一个时间

参数个数1
参数类型时间
返回值类型数值(0~23 之间的一个整数)

示例

公式结果
HOUR("11:32:40")11
HOUR("11:32:40","HH:mm:ss")11

9. ISOFFDAY.CN编辑

概述

类别描述
函数写法

ISOFFDAY.CN(date)

函数作用

是否为中国规定的休息日,包括周末和国内规定的节假日,是则返回 1

参数说明

date:一个日期

参数个数1
参数类型日期
返回值类型数值(0 或 1)
备注当前仅支持 2007 年以后的节假日信息,2007 年以前仅以周六周日作为休息日

示例

公式结果
ISOFFDAY.CN("2021-10-01")1
ISOFFDAY.CN("2021-10-09")0
ISOFFDAY.CN("2021-10-10")1

10. MINUTE编辑

概述

类别描述
函数写法

MINUTE(serial_number)

函数作用

返回某一指定时间的分钟数

参数说明

serial_number:一个时间

参数个数1
参数类型时间
返回值类型数值(0~59 之间的一个整数)

示例

公式结果
MINUTE("15:36:25")36
MINUTE("15:36:25","HH:mm:ss")36

11. MONTH编辑

概述

类别描述
函数写法

MONTH(serial_number)

函数作用

返回日期中的月

参数说明

serial_number:一个时间

参数个数1
参数类型时间 / 数值(数值是指系列数,见备注)
返回值类型数值(1~12 之间的一个整数)
备注在 1900 年日期系统中,将 1900-01-01 保存为系列数 2,将 1900-01-02 保存为系列数 3,将 1900-01-03 保存为系列数 4……依此类推,1998-01-01 存为系列数 35796,这样的系列数也是可以作为 MONTH 函数的参数的

示例

公式结果
MONTH("2000/1/1")1
MONTH("2006-05-05","yyyy-MM-dd")5
MONTH(35796)1

12. MONTHDELTA编辑

概述

类别描述
函数写法

MONTHDELTA(date,delta)

函数作用

某个日期往前或往后推几个月

参数说明

date:某个日期

deltadays:月数,可以是正值、负值、零。正值表示后推,负值表示前推

参数个数2
参数类型日期,数值
返回值类型日期

示例

公式结果
MONTHDELTA("2008-08-08",4)2008-12-08
MONTHDELTA("2008-08-08",-4)2008-4-08

13. NETWORKDAYS.CN编辑

概述

类别描述
函数写法

NETWORKDAYS.CN(start_date, end_date,int)

函数作用

返回两个日期之间全部工作日的时间差包含起始日期和结束日期,按中国法定节假日计算工作日。

参数说明
  • start_date:代表所指定时间段的初始日期;

  • end_date:代表所指定时间段的终止日期;

  • int:是否取整,返回时间差的单位是“天”,默认 int = true。如果没有 int 参数,默认计算天数向上取整(示例第 3 个公式)。

       int=true,则返回的天为向上取整的时间差结果。

       int=false,则返回的天为带有小数点的时间差,如1.25天、0.8天。

参数类型日期,日期
返回值类型数值
备注当前仅支持 2007 年以后的节假日信息,2007 年以前仅以周六周日作为休息日

示例

公式结果
NETWORKDAYS.CN("2021-1-1","2021-12-31")结果为 250。即 2021 年有 250 个工作日。
NETWORKDAYS.CN("2021-4-25","2021-4-30")结果为 6。4 月 25 号是周日但是是调休日。
NETWORKDAYS.CN("2019-12-31 01:00:00","2020-01-01 00:00:00")结果为 1 。向上取整。
NETWORKDAYS.CN("2019-12-30 00:00:00","2019-12-31 12:00:00",true)结果为 2 。向上取整。

NETWORKDAYS.CN("2019-12-30 00:00:00","2019-12-31 12:00:00",false)

结果为 1.5,即两日期之间间隔 1 天又 12 小时,记为 1.5天。

14. NOW编辑

概述

类别描述
函数写法

NOW()

函数作用

获取当前时间(东八区)

参数说明

没有参数

参数个数0
参数类型-
返回值类型时间
备注默认返回的时间格式,例如:2012-05-12 15:18:38

15. SECOND编辑

概述

类别描述
函数写法

SECOND(serial_number)

函数作用

返回某一指定时间的秒数

参数说明

serial_number:一个时间

参数个数1
参数类型时间
返回值类型数值

示例

公式结果
SECOND("15:36:25")25
SECOND("15:36:25","HH:mm:ss")25

16. TIME编辑

概述

类别描述
函数写法

TIME(hour,minute,second)

函数作用

根据时分秒返回指定的时间

参数说明

hour:小时,介于 0~23 之间的数

minute:分钟,介于 0~59 之间的数

second:秒数,介于 0~59 之间的数

参数个数3
参数类型数值,数值,数值
返回值类型时间
备注介于 0:00:00(12:00:00A.M.)与 23:59:59(11:59:59P.M.)之间的时间,可返回 0 到 0.99999999 之间的对应数值

示例

公式结果
TIME(14,40,0)2:40PM
TIME(19,43,24)7:43PM

17. TODATE编辑

概述

类别描述
函数写法

TODATE()

函数作用

将各种日期形式的参数转换为日期类型

参数说明

只有一个参数的情况:

如果参数是日期型,那么仍返回该参数

如果参数是以从 1970 年 1 月 1 日 0 时 0 分 0 秒开始的毫秒数,那么返回对应的时间

如果参数是日期格式的文本,那么返回这个文本对应的日期,即文本转日期

有两个参数情况:

第一个参数是一个日期格式的文本,第二个参数是用来解析日期的格式

参数个数1 或 2
参数类型日期 / 数值 / 文本
返回值类型日期

示例

公式结果
TODATE(DATE(2007,12,12))

参数是日期型返回:2007-12-12

TODATE(1023542354746)参数是毫秒数返回:2002-06-08
TODATE("2007/10/15")参数是日期文本:2007-10-15
TODATE("1/15/07","MM/dd/yy")两个参数的情况返回:2007-01-15

18. TODAY编辑

概述

类别描述
函数写法

TODAY()

函数作用

获取当前日期(东八区)

参数说明

没有参数

参数个数0
参数类型-
返回值类型日期
备注默认返回的日期格式,例如:2012-05-12

19. WEEKDATE编辑

概述

类别描述
函数写法

weekdate(year,month,weekOfMonth,dayOfWeek)

函数作用

返回指定年月的指定周的周几的具体日期

参数说明

year:年份

month:月份

weekOfMonth:该月第几周

dayOfWeek:该周第几天

参数个数4
参数类型数值,数值,数值,数值
返回值类型日期
备注最后一个参数 dayOfWeek 为 -1 时,表示这个周的最后一天

示例

公式结果
weekdate(2009,10,2,1)2009-10-05
weekdate(2009,12,1,-1)2009-12-06

20. WEEKDAY编辑

概述

类别描述
函数写法

WEEKDAY(serial_number)

函数作用

获取日期并返回星期数

参数说明

serial_number:一个日期

参数个数1
参数类型日期 / 数值(数值是指系列数,见备注)
返回值类型数值(为 0~6 之间的一个整数,代表周日~周六)
备注在 1900 年日期系统中,将 1900-01-01 保存为系列数 2,将 1900-01-02 保存为系列数 3,将 1900-01-03 保存为系列数 4……依此类推,1998-01-01 存为系列数 35796,这样的系列数也是可以作为 WEEKDAY 函数的参数的

示例

公式结果
WEEKDAY("2005/9/10")6
WEEKDAY("2005/9/11")0
WEEKDAY(35796)4

21. YEAR编辑

概述

类别描述
函数写法

YEAR(serial_number)

函数作用

返回日期中的年份

参数说明

serial_number:一个日期

参数个数1
参数类型日期 / 数值(数值是指系列数,见备注)
返回值类型数值
备注在 1900 年日期系统中,将 1900-01-01 保存为系列数 2,将 1900-01-02 保存为系列数 3,将 1900-01-03 保存为系列数 4……依此类推,1998-01-01 存为系列数 35796,这样的系列数也是可以作为 YEAR 函数的参数的

示例

公式结果
YEAR("2000/1/1")2000
YEAR("2006/05/05")2006
YEAR("1997/04/20")1997
YEAR(35796)1998

22. HOURDELTA-返回指定时间后几小时的数据(时区转换)编辑

概述

类别描述
函数写法

HOURDELTA(date, deltahours)

函数作用

返回指定时间 date 后 deltahours 的时间,可用于时区转换。

参数说明

date:日期

deltahours:时间差,可以为正值,负值,零。

参数个数2
返回值类型日期
备注-

示例

公式结果
HOURDELTA("2021-12-14 15:00:00", -10)2021-12-14 5:00:00
HOURDELTA("2021-12-14 15:00:00", 10)2021-12-15 1:00:00