1. 日期函数简介
- DATE
- TIME
- TIMESTAMP
- TODAY
- NOW
- SYSTIME
- DAY
- MONTH
- YEAR
- HOUR
- MINUTE
- SECOND
- DAYS
- DAYS360
- DATEDIF
- DATEDELTA
- WEEKNUM
- ISOWEEKNUM
日期组件的返回值为时间戳(timestamp),单位是毫秒;以下日期函数的参数可以直接使用日期组件。例如:YEAR (日期组件)
下面介绍关于日期函数的两个基本概念:
时间戳(TIMESTAMP):时间戳是计算机记录时间的一种格式。通常是一个字符序列,唯一地标识某一刻的时间。在宜搭表单中,「日期」组件便是由这样的序列来存储的
日期对象:可以理解为年月日时分秒;日期对象的格式为 Sat Aug 01 2021 00:00:00 GMT+0800(中国标准时间),即北京时间 2021 年 8 月 1 日 00:00:00,日期对象可以进行各种运算,比如日期加减法等
2. 公式示例
2.1 DATE函数
表达式:DATE(timestamp)
入参:
- timestamp: 必需,时间戳
返回值:
- 类型:日期对象
- 返回值规则:将时间戳转换为日期对象(用来将日期组件的时间戳转为日期对象进行日期公式运算)
示例
注释:把「申请日期」这个时间组件中的存储的“时间戳”值,转化为文本值填入「申请日期-文本」(单行文本)中。
支持的占位符(注意大小写):
2.2 TIME函数
表达式:TIME(hour, minute, second)
入参:
- hour:小时
- minute:分钟
- second:秒数
返回值:
- 类型:数值
- 返回值规则:返回特定时间的十进制数字。时间值为日期值的一部分,并用十进制数表示
示例
复合函数案例:
输出的数值:
2.3 TIMESTAMP函数
表达式:TIMESTAMP(date)
入参:
- 赋值给日期组件
返回值:
- 类型:日期
- 返回值规则:将日期对象转换成时间戳,主要用来将日期公式计算出的日期对象转为时间戳,给日期组件赋值
示例
实现效果:
2.4 TODAY函数
表达式:TODAY()
返回值:
- 类型:日期
- 返回值规则:得出今天的日期
示例
2.5 NOW函数
表达式:NOW()
返回值:
- 类型:日期
- 返回值规则:将当前日期赋值给日期组件
2.6 SYSTIME函数
表达式:SYSTIME()
返回值:
- 类型:日期
- 返回值规则:自动获取当前服务器时间
注:即使客户端的时间被人为调整了,SYSTIME 函数不受影响,获取的仍然是服务器时间。例如签到、打卡等场景下,可避免调整时间作弊的情况。
示例
2.7 DAY函数
表达式:DAY(date)
入参:
- 指定日期
返回值:
- 类型:数值
- 返回值规则:返回日期天数(天数是介于 1 到 31 之间的整数)
示例
实现效果:
2.8 MONTH函数
表达式:MONTH(date)
入参:
- 指定日期
返回值:
- 类型:数值
- 返回值规则:返回日期月份(月份是介于 1 到 12 之间的整数)
示例
实现效果:
2.9 YEAR函数
表达式:YEAR(date)
入参:
- 指定日期
返回值:
- 类型:数值
- 返回值规则:返回日期年份
示例
实现效果:
2.10 HOUR函数
表达式:HOUR(date)
入参:
- 日期组件
返回值:
- 类型:数值
- 返回值规则:返回日期小时数
示例
实现效果:
2.11 MINUTE函数
表达式:MINUTE(date)
入参:
- 指定日期
返回值:
- 类型:数值
- 返回值规则:返回日期分钟数
示例
实现效果:
2.12 SECOND函数
表达式:SECOND(date)
入参:
- 指定日期
返回值:
- 类型:数值
- 返回值规则:返回日期秒数
示例
实现效果:
2.13 DAYS函数
表达式:DAYS(end_date, start_date)
入参:
- end_date: 必需。结束日期。
- start_date: 必需。起始日期。
返回值:
- 类型:数值
- 返回值规则:得出日期之间天数
示例
实现效果:
2.14 DAYS360函数
表达式:DAYS360(end_date, start_date, method)
入参:
- end_date: 必需。结束日期。
- start_date: 必需。起始日期。
- method: 可选。用于指定在计算中是采用美国方法还是欧洲方法。不填或 false 表示是美国方法,true 表示是欧洲方法。
返回值:
- 类型:数值
- 返回值规则:返回 2 个日期相差天数
公式目的:按照一年 360 天的算法(每个月以 30 天计,一年共计 12 个月),DAYS360 函数返回两个日期间相差的天数,这在一些会计计算中将会用到。 如果财会系统是基于一年 12 个月,每月 30 天,可使用此函数帮助计算支付款项。
示例:
2.15 DATEDELTA函数
表达式:DATEDELTA(date, delta_days)
入参:
- date: 必需。初始日期。
- delta_days: 必需。需要加减的天数。正数为增加,负数为减少。
返回值:
- 类型:日期
- 返回值规则:自动返回指定加/减天数后的日期时间
示例:
注解:在「开始时间」基础上,添加12天作为「结束时间」
2.16 WEEKNUM函数
表达式:WEEKNUM(date, return_type)
入参:
- data: 必需。指定日期。代表一周中的日期。应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入
- return_type: 可选。一数字,确定星期从哪一天开始,默认值为 1。 数字1为周日开始,数字2为周一开始,当前只支持数字1和2。
返回值:
- 类型:数值
- 返回值规则:返回日期周数
公式目的:返回特定日期的周数。例如,包含 1 月 1 里的周为该年的第 1 周,其编号为第 1 周。
示例:
2.17 IOSWEEKNUM函数
表达式:ISOWEEKNUM(date)
入参:
- data: 必需。日期是 Ecxel 用于日期和时间计算的日期-时间代码
返回值:
- 类型:数值
- 返回值规则:返回日期周数
示例