复杂表格日期和时间函数

1. DATE-日期构造函数

1)概述

语法

DATE(year,month,day)

返回一个表示某一特定日期的系列数

参数1

year

代表年,可为一到四位数

参数2

month

  • 代表月份
  • 若 1<=month<= 12,则函数把参数值作为月
  • 若 month>12,则函数从年的一月份开始往上累加
  • 例如:DATE(2000,25,2) 等于 2002 年 1 月 2 日的系列数

参数3

day

  • 代表日
  • 若日期小于等于某指定月的天数,则函数将此参数值作为日。
  • 若日期大于某指定月的天数,则函数从指定月份的第一天开始往上累加。
  • 若日期大于两个或多个月的总天数,则函数把减去两个月或多个月的余数加到第三或第四个月上,依此类推。
  • 例如:DATE(2000,3,35)等于 2000 年 4 月 4 日的系列数。

2)注意事项

月和日为 1 到 9 之间的数字时,不需要在前面加上 0 ,直接写数字,例如: DATE(2011, 2, 1) 即可。

3)示例

公式

结果

DATE(1978, 9, 19)

1978 年 9 月 19 日

DATE(1211, 12, 1)

1211 年 12 月 1 日

2. DATEDELTA-日期偏移计算函数

1)概述

语法

DATEDELTA(date, deltadays)

返回一个日期 date 后 deltadays 的日期

参数

deltaDays

可以为正值,负值,零

2)示例

公式

结果

DATEDELTA("2008-08-08", -10)

2008-07-29

DATEDELTA("2008-08-08", 10)

2008-08-18

3. DATEDIF-智能日期差值函数

1)概述

语法

DATEDIF(start_date,end_date,unit,method)

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

参数1

Start_date

代表所指定时间段的初始日期

参数2

End_date

代表所指定时间段的终止日期

参数3

Unit

函数返回信息的类型

参数4

method

可选参数,默认返回日期差值的绝对值

2)注意事项

  • 若 unit="Y",则 DATEDIF 返回指定时间段的年差数。
  • 若 unit="M",则 DATEDIF 返回指定时间段的月差数。
  • 若 unit="D",则 DATEDIF 返回指定时间段的日差数。
  • 若 unit="MD",则 DATEDIF 忽略年和月,返回指定时间段的日差数。
  • 若 unit="YM",则 DATEDIF 忽略年和日,返回指定时间段的月差数。
  • 若 unit="YD",则 DATEDIF 忽略年,返回指定时间段的日差数。
  • 若 method=1,则 DATEDIF 返回日期差值的绝对值。
  • 若 method=-1,则 DATEDIF 返回日期差值时,会考虑正负情况。

3)示例

公式

结果

说明

DATEDIF("2001/2/28","2004/3/20","Y")

3

即在 2001 年 2 月 28 日与 2004 年 3 月 20 日之间有 3 个整年

DATEDIF("2001/2/28","2004/3/20","M")

36

即在 2001 年 2 月 28 日与 2004 年 3 月 20 日之间有 36 个整月

DATEDIF("2001/2/28","2004/3/20","D")

1116

即在 2001 年 2 月 28 日与 2004 年 3 月 20 日之间有 1116 个整天

DATEDIF("2001/2/28","2004/3/20","MD")

8

即忽略月和年后,2001 年 2 月 28 日与 2004 年 3 月 20 日的差为 8 天

DATEDIF("2001/1/28","2004/3/20","YM")

2

即忽略日和年后,2001 年 1 月 28 日与 2004 年 3 月 20 日的差为 2 个月

DATEDIF("2001/2/28","2004/3/20","YD")

21

即忽略年后,2001 年 2 月 28 日与 2004 年 3 月 20 日的差为 21 天

4. DATESUBDATE-日期差值计算函数

1)概述

语法

DATESUBDATE(date1, date2, op)

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

参数1

date1

代表所指定时间段的初始日期

参数2

date2

代表所指定时间段的终止日期

参数3

op

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

2)注意事项

计算结果默认为 date1-date2 ,会考虑正负情况。

3)示例

公式

结果

DATESUBDATE("2008-08-08", "2008-06-06","h")

1512

5. DAY-日分量提取函数

1)概述

语法

DAY(serial_number)

返回日期中的日。DAY 是介于 1 和 31 之间的一个数

参数

serial_number

含有所求的年的日期,参数为空时默认为当天日期

2)注意事项

复杂表格中将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。

在 1900 年日期系统中,复杂表格将 1900 年 1 月 1 日保存为系列数 2,将 1900 年 1 月 2 日保存为系列数 3,将 1900 年 1 月 3 日保存为系列数 4……依此类推。如在1900 年日期系统,1998 年 1 月 1 日存为系列数 35796。

3)示例

公式

结果

DAY("2000/1/1")

1

DAY("2006/05/05")

5

DAY("1997/04/20")

20

DAY(35796)

1

6. DAYS360-金融日差计算函数

1)概述

语法

DAYS360(start_date,end_date,method)

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

参数1

start_date

开始日期

参数2

end_date

结束日期

参数3

method

  • 指定在计算中是采用欧洲方法还是美国方法
  • FALSE 或忽略为美国方法 (NASD)。如果起始日期是一个月的 31 号,则等于同月的 30 号。如果终止日期是一个月的 31 号,并且起始日期早于 30 号,则终止日期等于下一个月的 1 号,否则,终止日期等于本月的 30 号。
  • TRUE 为欧洲方法。无论是起始日期还是终止日期为一个月的 31号,都将等于本月的 30号。

2)注意事项

复杂表格中将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。

在 1900 年日期系统中,复杂表格将 1900 年 1 月 1 日保存为系列数 2,将 1900 年 1 月 2 日保存为系列数 3,将 1900 年 1 月 3 日保存为系列数 4……依此类推。如在1900 年日期系统,1998 年 1 月 1 日存为系列数 35796。

3)示例

公式

结果

DAYS360("1998/1/30", "1998/2/1")

1

7. DAYSOFMONTH-月份天数计算函数

1)概述

语法

DAYSOFMONTH(date)

返回从 1900 年 1 月后某年某月包含的天数

参数

date

日期

2)示例

公式

结果

DAYSOFMONTH("1900-02-01")

28

DAYSOFMONTH("2008/04/04")

30

8. DAYSOFQUARTER-季度天数计算函数

1)概述

语法

DAYSOFQUARTER

(date)

返回从 1900 年 1 月后

某年某季度的天数

参数

date

日期

2)示例

公式

结果

DAYSOFQUARTER("2009-02-01")

90

DAYSOFQUARTER("2009/05/05")

91

9. DAYSOFYEAR-年度天数计算函数

1)概述

语法

DAYSOFYEAR(year)

返回 1900 年以后某年包含的天数

参数

year

年份

2)示例

公式

结果

DAYSOFYEAR(2008)

366

10. DAYVALUE-日期序列值转换函数

1)概述

语法

DAYVALUE(date)

把一个日期转化为一个系列数,返回值为一个数

1900 年 1 月 1 日至 date 日期所经历的天数,一个日期匹配一个系列数,方便用户对日期进行数值式计算字

参数

date

需要转化的日期,

日期格式或代表日期的文本格式,例如“2000/2/28”,

或数字格式:整数,例如 1000001

2)注意事项

  • date 为整数时,date 大于 1000000,认为是 unix 时间,unix 时间是指从 1970 年 1 月 1 日 开始所经过的秒数,不考虑闰秒;date 小于或等于 1000000,认为是距 1900 年 1 月 1 日的天数。
  • 如果 date 参数格式不规范,则返回 1900年 1 月 1 日至当前日期所经历的天数。例如:若今天为 2020/09/01,DAYVALUE("2008/02/") 等于 44074,DAYVALUE("0.877766")等于 44074

3)示例

公式

结果

DAYVALUE("2000/1/1")

36525

DAYVALUE( 1000001)

25568

11. HOUR-小时提取函数

1)概述

语法

HOUR(serial_number)

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

函数指定 HOUR 为 0(0:00)到 23(23:00)之间的一个整数

参数

Serial_number

包含所求小时的时间

HOUR(serial_number):返回某一指定时间的小时数。函数指定 HOUR 为 0(0:00)到 23(23:00)之间的一个整数。

Serial_number:包含所求小时的时间。

2)示例

公式

结果

HOUR("11:32:40")

11

12. MINUTE-分钟提取函数

1)概述

语法

MINUTE(serial_number)

返回某一指定时间的分钟数,其值是介于 0 与 59 之间的一个整数

参数

serial_number

包含所求分钟数的时间

2)示例

公式

结果

MINUTE("15:36:25")

36

13. MONTH-月份提取函数

1)概述

语法

MONTH(serial_number)

返回日期中的月,月是介于 1 和 12 之间的一个数

参数

serial_number

含有所求的月的日期,参数为空时默认为当天日期

2)注意事项

复杂表格中将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。

在 1900 年日期系统中,复杂表格将 1900 年 1 月 1 日保存为系列数 2,将 1900 年 1 月 2 日保存为系列数 3,将 1900 年 1 月 3 日保存为系列数 4……依此类推。如在1900 年日期系统,1998 年 1 月 1 日存为系列数 35796。

3)示例

公式

结果

MONTH("2004/5/5")

5

MONTH(35796)

1

14. MONTHDELTA-月份偏移函数

1)概述

语法

MONTHDELTA(date,delta)

返回指定日期 date 后 delta 个月的日期

参数1

date

基准日期

参数2

delta

整数,月份增减量

2)示例

公式

结果

MONTHDELTA("2008-08-08", 4)

2008-12-08

15. NOW-当前时间函数

1)概述

语法

NOW()

获取当前时间

2)示例

公式

结果

NOW()

如果系统时间是 2017-06-27 14:58:06

2017-06-27 14:58:06

16. SECOND-秒数提取函数

1)概述

语法

SECOND(serial_number)

返回某一指定时间的秒数,其值是介于 0 与 59 之间的一个整数

参数

serial_number

包含所求秒数的时间

2)示例

公式

结果

SECOND("15:36:25")

25

SECOND("15:36:25", "HH:mm:ss")

25

17. TIME-时间合成函数

1)概述

语法

TIME(hour,minute,second)

返回指定的日期和时间,日期会随当天的日期改变

时间介于0:00:00 与23:59:59之间

参数1

h

our

介于 0 到 23 之间的数

参数2

minute

介于 0 到 59 之间的数

参数3

second

介于 0 到 59 之间的数

2)示例

公式

结果

TIME(14,40,0)

若当前时间为 2022-06-17

2022-06-17 14:40:00

18. TODATE-日期标准化函数

1)概述

语法

TODATE()

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

2)注意事项

  • 格式中月份必须大写 MM,年份小写:yy(如果是用来解析形如“20081230”格式,则可写为yyyyMMdd,其余不可使用 yyyy 形式),天份小写:dd
  • 第二个参数必须与第一个日期格式一致。例如,第一个参数为"2007/10/15"格式,那么第二个参数格式需写为 yyyy/MM/dd 格式,即TODATE("2007/10/15","yyyy/MM/dd"),第一个参数为"2007-10-15"格式,那么第二个参数格式需写为 yyyy-MM-dd 格式,即TODATE("2007-10-15","yyyy-MM-dd"),因此 todate 与 today 同时使用,第二个参数必须为 yyyy-MM-dd 格式,即TODATE(TODAY(),"yyyy-MM-dd")

3)示例

参数有 5 种形式,如下表所示:

公式

结果

说明

TODATE(DATE(2007,12,12))

返回2007年12月12日组成的日期。

参数是一个日期型的参数,那么直接将这个参数返回

TODATE(1023542354746)

返回2002年6月8日

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

注:如果date是数字类型,当date大于1000000时,会被当作是unix时间;当date小于或等于1000000时,会被当作是距1900年1月1日的天数。

TODATE("2007/10/15")

返回2007年10月15日组成的日期

参数是日期格式的文本,那么返回这个文本对应的日期。

TODATE("1/15/07","MM/dd/yy")

返回07年1月15日组成的日期。(MM必须是大写)。

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

注:"yyyyMMdd" 是用来解析形如“20081230”之类的日期格式的。例如,TODATE("20110830","yyyyMMdd") 返回2011年08月30日组成的日期

TODATE("星期一1/15/07","EEEMM/dd/yy","zh")

返回07年1月15日组成的日期,使用“zh(中文)”才能够正常解析“星期一”这个字符串。

第一个参数是一个日期格式的文本,第二个参数是用来解析日期的格式,第三个参数为解析日期的语言,如:zh(中文),en(英文),其中第三个参数为可选参数,默认使用服务器的语言作为解析日期的语言。使用“zh(中文)”才能够正常解析“星期一”这个字符串。

注:如果 EEE 和 MM/dd/yy 不一致, 以 MM/dd/yy 为主。 例如,TODATE("星期三1/15/07","EEEMM/dd/yy","zh")返回 07 年 1 月 15 日组成的日期,实际是星期一,而不是星期三

19. TODAY-当前日期函数

1)概述

语法

TODAY()

获取当前的日期

2)示例

公式

结果

TODAY()

若当前日期是 2011-06-20

2011-06-20

20. WEEKDAY-星期提取函数

1)概述

语法

WEEKDAY(Serial_number)

获取日期并返回星期

返回值为介于 0 到 6 之间的某一整数,分别代表星期中的某一天(从星期日到星期六)

参数

Serial_number

输入的日期

2)注意事项

  • 复杂表格中将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。在 1900 年日期系统中,复杂表格将 1900 年 1 月 1 日保存为系列数 2,将 1900 年 1 月 2 日保存为系列数 3,将 1900 年 1 月 3 日保存为系列数 4……依此类推。如在1900 年日期系统,1998 年 1 月 1 日存为系列数 35796。
  • 若公式引用单元格,单元格内容为空时,默认返回当天的星期数。但不建议直接使用公式 WEEKDAY(),可能存在风险。

3)示例

公式

结果

WEEKDAY("2005/9/10")

6

WEEKDAY("2005/9/11")

0

WEEKDAY(35796)

4

21. YEAR-年份提取函数

1)概述

语法

YEAR(serial_number)

返回日期中的年

Year 是介于 1900 和 9999 之间的一个数

参数

serial_number

含有所求的年的日期,参数为空时默认为当天日期

2)注意事项

复杂表格中将日期保存为系列数,一个系列数代表一个与之匹配的日期,以方便用户对日期进行数值式计算。在 1900 年日期系统中,复杂表格将 1900 年 1 月 1 日保存为系列数 2,将 1900 年 1 月 2 日保存为系列数 3,将 1900 年 1 月 3 日保存为系列数 4……依此类推。如在1900 年日期系统,1998 年 1 月 1 日存为系列数 35796。

3)示例

公式

结果

YEAR("2000/1/1")

2000

YEAR("2006/05/05")

2006

YEAR("1997/04/20")

1997

YEAR(35796)

1998

22. YEARDELTA-年份偏移计算函数

1)概述

语法

YEARDELTA(date, delta)

返回指定日期 date 后 delta 年的日期

参数1

date

基准日期

参数2

delta

年份增减量

2)示例

公式

结果

YEARDELTA("2008-10-10",10)

2018-10-10

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验