跳到主要内容

日期函数

日期函数是公式中的一种函数类型,可以对日期类型的数据进行运算。


TODAY()

返回今天的日期(年月日),但不会精确到时分秒(默认为 00:00:00 )。如果想要精确到时分秒,请使用函数 NOW() 。

TODAY()

参数说明

该函数不需要填写参数。

可以直接使用此函数返回年月日,见例子一;

也可以和 DATEADD()DATETIME_DIFF() 等函数一起使用,比如用 {截止时间} 减去当前时间,来显示项目的倒计时,见例子二。

注①:仅当重新刷新计算公式或刷新表格时,这个函数返回的结果才会更新。


示例

// 返回年月日。
公式:TODAY()
运算结果:2021/03/25 00:00

// 显示项目的倒计时。下列字段 {截止时间} 是日期类型且单元格值为 2021/03/31 。
公式:DATETIME_DIFF({截止时间}, TODAY(), "days")
运算结果:6



NOW()

返回今天的日期和时间,会精确到时分秒。

NOW()

参数说明

该函数不需要填写参数。

可以直接使用此函数返回年月日,见例子一; 也可以和 DATEADD()DATETIME_DIFF() 等函数一起使用,比如用 {截止时间} 减去当前时间,来显示项目的倒计时,见例子二。

注①:仅当重新刷新计算公式或刷新表格时,这个函数返回的结果才会更新。


示例

// 返回年月日。选择显示时间且时间格式为 24 小时。
公式:NOW()
运算结果:2021/03/25 18:59

// 显示项目的倒计时。下列字段 {截止时间} 是日期类型且单元格值为 2021/03/31 。
公式:DATETIME_DIFF({截止时间}, NOW(), "days")
运算结果:5



TONOW()

返回当前日期和指定日期之间的差值(无正负)。

TONOW(date, units)

参数说明

date:是指定日期,即用指定日期减去当前日期,计算两个日期相差的多少天(自定义计时单位),无正负。 units:计时单位,即指定日期与当前日期差值的计算单位,比如按 “天” 计算也可以转换为按 “年” 计算。

计时单位包括以下符号,两种格式都可以使用: 「单位说明符 」→ 「缩写」 毫秒:“milliseconds” → “ms” 秒:“seconds” → “s” 分钟:“minutes” → “m” 小时:“hours” → “h” 天:“days” → “d” 周:“weeks” → “w” 月:“months” → “M” 季度:“quarters” → “Q” 年:“years” → “y”

点击链接可查看全部计时单位


示例

// 返回当前日期和 2021/03/20 之间的差值,假定当前日期为 2021/03/25 。
公式:TONOW("2021/03/20", "d")
运算结果:5

// 显示项目的开展时间。下列字段 {开始日期} 是日期类型且单元格值为 2021/01/01 ,假定当前日期为 2021/03/25 。
公式:TONOW({开始日期}, "months")
运算结果:2



FROMNOW()

返回当前日期和指定日期之间的差值(无正负)。

FROMNOW(date, units)

参数说明

date:是指定日期,即用指定日期减去当前日期,计算两个日期相差的多少天(自定义计时单位),无正负。 units:计时单位,即指定日期与当前日期差值的计算单位,比如按 “天” 计算也可以转换为按 “年” 计算。

计时单位包括以下符号,两种格式都可以使用: 「单位说明符 」→ 「缩写」 毫秒:“milliseconds” → “ms” 秒:“seconds” → “s” 分钟:“minutes” → “m” 小时:“hours” → “h” 天:“days” → “d” 周:“weeks” → “w” 月:“months” → “M” 季度:“quarters” → “Q” 年:“years” → “y”

点击链接可查看全部计时单位


示例

// 返回当前日期和 2021/03/20 之间的差值,假定当前日期为 2021/03/25 。
公式:FROMNOW("2021/03/20", "d")
运算结果:5

// 显示项目的倒计时。下列字段 {开始日期} 是日期类型且单元格值为 2021/01/01 ,假定当前日期为 2021/03/25 。
公式:FROMNOW({开始日期}, "months")
运算结果:2



DATEADD()

为指定的日期增加固定的时间间隔。

DATEADD(date, count, units)

参数说明

date:是你指定的日期。本函数将在该日期基础上增加一定的时间间隔。 count:是时间间隔,支持输入带正负号的数字。如果为正数,即表示增加几天(可自定义计时单位),见例子一;如果为负数,即表示减少几天,见例子二; units:是计时单位,即增加时间间隔的单位。比如按 “天” 计算也可以转换为按 “年” 计算。

计时单位包括以下符号,两种格式都可以使用:「单位说明符 」→ 「缩写」 毫秒:“milliseconds” → “ms” 秒:“seconds” → “s” 分钟:“minutes” → “m” 小时:“hours” → “h” 天:“days” → “d” 周:“weeks” → “w” 月:“months” → “M” 季度:“quarters” → “Q” 年:“years” → “y”

点击链接可查看全部计时单位


示例

// 为 2021/03/25 增加 1 天的时间间隔。计时单位 "days" 表示按 “天” 计算。
公式:DATEADD("2021/03/25", 1, "days")
运算结果:2021/03/26

// 为 2021/03/25 减少 1 天的时间间隔。计时单位 "days" 表示按 “天” 计算。
公式:DATEADD("2021/03/25", -1, "days")
运算结果:2021/03/24

// 为 {启动时间} 增加 10 天的时间间隔。下列字段 {启动时间} 是日期类型且单元格值 2021/03/25 。计时单位 "days" 表示按 “天” 计算。
公式:DATEADD({启动时间}, 10, "days")
运算结果:2021/04/04



DATETIME_DIFF()

返回两个日期之间的差值(有正负),即日期 1 减去日期 2 。

DATETIME_DIFF(date1, date2, units)

参数说明

date1:日期 1 。 date2:日期 2 。

units:计时单位,日期 1 与日期 2 差值的计算单位。比如按 “天” 计算也可以转换为按 “年” 计算。

计时单位包括以下符号,两种格式都可以使用:「单位说明符 」→ 「缩写」 毫秒:“milliseconds” → “ms” 秒:“seconds” → “s” 分钟:“minutes” → “m” 小时:“hours” → “h” 天:“days” → “d” 周:“weeks” → “w” 月:“months” → “M” 季度:“quarters” → “Q” 年:“years” → “y”

点击链接可查看全部计时单位


示例

// 返回 2021/03/26 减去 2021/03/01 的值。计时单位 “days” 表示按 “天” 计算。
公式:DATETIME_DIFF("2021/03/26", "2021/03/01", "days")
运算结果:25

// 返回 2021/03/01 减去 2021/03/26 的值。计时单位 “days” 表示按 “天” 计算。
公式:DATETIME_DIFF("2021/03/01", "2021/03/26", "days")
运算结果:-25

// 返回 {截止时间} 减去 TODAY() 的值。下列字段 {截止时间} 是日期类型且单元格值为 2021/03/28 。 TODAY() 返回的值是 2021/03/30 。计时单位 “hours” 表示按 “小时” 计算。
公式:DATETIME_DIFF({截止时间}, TODAY(), "hours")
运算结果:-48



WORKDAY()

返回起始日期若干个工作日之后的日期。

WORKDAY(startDate, numDays, [holidays])

参数说明

startDate:是你指定的起始日期。 numDays:是你指定的起始日期之后的工作日天数,用正数表示。比如,数字 “1” 代表起始日期一个工作日之后的日期,见例子一; holidays:非必填。是要从日历中去除的特定日期,例如节假日。其输入格式为 「yyyy-mm-dd」 ,多个日期以逗号分隔的,见例子三。

本函数的工作日不包括周末和你指定的特定日期。


示例

// 返回从 2021/03/01 开始 1 个工作日之后的日期。
公式:WORKDAY("2021/03/01", 1)
运算结果:2021/03/02

// 返回从 2021/03/01 开始 1 个工作日之后的日期,且去除特定日期 2021-03-02 ,特定日期输入格式为 “yyyy-mm-dd” 。
公式:WORKDAY("2021/03/01", 1, "2021-03-02")
运算结果:2021/03/03

// 返回从 {产品启动日期} 开始 10 个工作日之后的日期,且去除特定日期。下列字段 {产品启动日期} 是日期类型且单元格值 2021/03/01 。
公式:WORKDAY({启动日期}, 10, "2021-03-02, 2021-03-08, 2021-03-09")
运算结果:2021/03/18



WORKDAY_DIFF()

统计两个日期之间相隔多少个工作日(有正负)。

WORKDAY_DIFF(startDate, endDate, [holidays])

参数说明

startDate:起始日期。 endDate:截止日期。如果起始日期比截止日期晚,则会出现负数。 holidays:非必填。是要从工作日历中去除的日期,例如节假日。其输入格式为「yyyy-mm-dd」,多个日期以逗号分隔的。

本函数统计起止日期之间的工作日,不包括周末和你指定的特定日期。


示例

// 统计 2021/03/01 和 2021/03/02 之间相隔多少个工作日。
公式:WORKDAY_DIFF("2021/03/01", "2021/03/02")
运算结果:2

// 统计 2021/03/01 和 2021/03/02 之间相隔多少个工作日。
公式:WORKDAY_DIFF("2021/03/02", "2021/03/01")
运算结果:-2

// 统计 2021/03/01 和 2021/03/07 之间相隔多少个工作日。其中 2021/03/06 和 2021/03/07 是周末。
公式:WORKDAY_DIFF("2021/03/01", "2021/03/07")
运算结果:5

// 统计 2021/03/01 和 2021/03/07 之间相隔多少个工作日。且去除特定日期。下列字段 {产品启动日期} 和 {产品上线日期} 是日期类型且单元格值分别为 2021/03/01 和 2021/03/07。
公式:WORKDAY_DIFF({产品启动日期}, {产品上线日期}, "2021-03-02, 2021-03-03")
运算结果:3



IS_AFTER()

比较日期 1 是否晚于日期 2 ,如果晚于则返回真( true ),否则返回假( false )。

IS_AFTER(date1, date2)

参数说明

date1:是日期 1 。 date2:是日期 2 。 日期可以是输入的参数,见用例一;日期也可以是引用日期类型的维格列,见用例二。

在单元格内真和假用 “已勾选” 和 “未勾选” 表示。


示例

// 比较 2021/03/26 是否晚于 2021/03/25 。
公式:IS_AFTER("2021/03/26", "2021/03/25")
运算结果:TRUE

// 比较 {截止时间} 是否晚于 TODAY() 。下列字段 {截止时间} 是日期类型且单元格值为 2021/03/26 ,下列函数 TODAY() 表示的值是 2021/03/25 。
公式:IS_AFTER({截止时间}, TODAY())
运算结果:TRUE

// 比较 {截止时间} 是否晚于 2021/03/25 。下列字段 {截止时间} 是日期类型且单元格值为 2021/03/26 。
公式:IS_AFTER({截止时间}, "2021/03/25")
运算结果:TRUE



IS_BEFORE()

比较日期 1 是否早于日期 2 ,如果早于则返回真( true ),否则返回假( false )。

IS_BEFORE(date1, date2)

参数说明

date1:是日期 1 。 date2:是日期 2 。

日期可以是输入的参数,见用例一; 日期也可以是引用日期类型的维格列,见用例二。 在单元格内真和假用 “已勾选” 和 “未勾选” 表示。


示例

// 比较 2021/03/25 是否早于 2021/03/26 。
公式:IS_BEFORE("2021/03/25", "2021/03/26")
运算结果:TRUE

// 比较 {截止时间} 是否早于 TODAY() 。下列字段 {截止时间} 是日期类型且单元格值为 2021/03/25 ,下列函数 TODAY() 是日期类型且单元格值为 2021-03-26 。
公式:IS_BEFORE({截止时间}, TODAY())
运算结果:TRUE

// 比较 {截止时间} 是否早于 2021/03/26 。下列字段 {截止时间} 是日期类型且单元格值为 2021/03/25 。
公式:IS_BEFORE({截止时间}, "2021/03/26")
运算结果:TRUE



IS_SAME()

比较日期 1 是否等于日期 2 ,如果等于则返回真( true ),否则返回假( false )。

IS_SAME(date1, date2, [units])

参数说明

date1:是日期 1 。 date2:是日期 2 。 units:非必填, 是比较的时间单位。比如比较两个日期是否相等,可以一直对比到分钟单位。

日期可以是输入的参数,见用例一; 日期也可以是引用日期类型的维格列,见用例四。 在单元格内真和假用 “已勾选” 和 “未勾选” 表示。


示例

// 比较 2021/03/30 是否等于 2021/03/30 。
公式:IS_SAME("2021/03/30", "2021/03/30")
运算结果:TRUE

// 比较 2021/03/30 和 2021/04/30 是否相等,一直对比到年份。
公式:IS_SAME("2021/03/30", "2021/04/30", "years")
运算结果:TRUE

// 比较 2021/03/30 和 2021/04/30 是否相等,一直对比到月份。
公式:IS_SAME("2021/3/30", "2021/04/30", "months")
运算结果:FALSE

// 比较 {截止时间} 和 {完工时间} 是否相等,一直对比到日数。下列字段 {截止时间} 和 {完工时间} 是日期类型且单元格值均为 2021/03/30 。
公式:IS_SAME({截止时间}, {完工时间}, "days")
运算结果:TRUE

// 比较 2021/03/30 和 {完工时间} 是否相等,一直对比到日数。下列字段 {完工时间} 是日期类型且单元格值为 2021/03/30 。
公式:IS_SAME("2021/03/30", {完工时间}, "days")
运算结果:TRUE



DATETIME_FORMAT()

将日期以自定义的形式格式化为文本。

DATETIME_FORMAT(date, specified_output_format)

参数说明

date:是需要被格式化的日期。 specified_output_format:是选择的格式化说明符。比如说明符可以是:

“DD-MM-YYYY” 表示 “日-月-年” ,见例子一; “YYYY / MM / DD” 表示 “年/月/日” ,见例子二; “MM.DD” 表示 “月.日” ,见例子三。

日期经过格式化后,将变为一串文本。

本函数支持的日期格式化说明符请看下方链接。 点击链接可查看日期格式化说明符


示例

// 将 2021-03-30 格式化为文本 "30-03-2021" 。
公式:DATETIME_FORMAT("2021-03-30", "DD-MM-YYYY")
运算结果:"30-03-2021"

// 将 2021-03-30 格式化为文本 "2021/03/30" 。
公式:DATETIME_FORMAT("2021-03-30", "YYYY/MM/DD")
运算结果:"2021/03/30"

// 将 2021-03-30 格式化为文本 "03.30" 。
公式:DATETIME_FORMAT("2021-03-30", "MM.DD")
运算结果:"03.30"

// 将 TODAY() 格式化为文本 "30-03-2021" 。下列函数 TODAY() 是日期类型且单元格值为 2021-03-30 。
公式:DATETIME_FORMAT(TODAY(), "DD-MM-YYYY")
运算结果:30-03-2021



DATETIME_PARSE()

将文本转换为结构化日期类型。

DATETIME_PARSE(date, [input_format])

参数说明

date:是要被格式化为日期的文本。 input_format:非必填,本参数是日期格式化说明符。对于系统无法识别的文本日期内容,你可以自己解释为结构化的日期。见例子二。

本函数支持的日期格式化说明符和语言环境请查看下方链接。 点击链接可查看日期格式化说明符


示例

// 将文本 "20210330" 格式化为日期 2021/03/30 。
公式:DATETIME_PARSE("20210330")
运算结果:2021/03/30

// 将文本 "30 03 2021 18:00" 格式化为日期 2021/03/30 18:00 。
公式:DATETIME_PARSE("30 03 2021 18:00", "DD MM YYYY HH:mm")
运算结果:2021/03/30 18:00

// 将文本 "30号03月2021年18:00时" 格式化为日期 2021/03/30 18:00 。
公式:DATETIME_PARSE("30号03月2021年18:00时", "DD号MM月YYYY年HH:mm时")
运算结果:2021/03/30 18:00



DATESTR()

将日期格式化为 “年-月-日” 形式的文本(固定格式为 YYYY-MM-DD )

DATESTR(date)

参数说明

date:是被格式化的日期

日期经过格式化后,将变为一串文本,不再具有日期数据的属性。


示例

// 将日期 2021/03/30 格式化为文本 "2021-03-30" 。
公式:DATESTR("2021/03/30")
运算结果:"2021-03-30"

// 将 {启动时间} 格式化为文本 "2021-03-30" 。下列字段 {启动时间} 为日期类型且单元格值为 2021/03/30 。
公式:DATESTR({启动时间})
运算结果:"2021-03-30"



TIMESTR()

将日期格式化为 “时:分:秒” 形式的文本 (固定格式为 HH:mm:ss )

TIMESTR(date)

参数说明

date:是被格式化的日期。

日期经过格式化后,将变为一串文本,不再具有日期数据的属性。


示例

// 将 NOW() 格式化为文本 "00:15:31" 。下列函数 NOW() 是日期类型且单元格值为 2021/03/31 00:15 。
公式:TIMESTR(NOW())
运算结果:"00:15:31"



YEAR()

返回指定日期对应的四位数年份。

YEAR(date)

参数说明

date:是指定的日期。


示例

// 返回 2021/03/31 对应的四位数年份。
公式:YEAR("2021/03/31")
运算结果:2021



MONTH()

返回指定日期对应的月份。

MONTH(date)

参数说明

date:是指定的日期。

本函数输出值为 1(一月)至 12(十二月)之间的整数。


示例

// 返回 2021/03/31 对应的月份。
公式:MONTH("2021/03/31")
运算结果:3



WEEKDAY()

返回指定日期对应一周中的星期几。

WEEKDAY(date, [startDayOfWeek])

参数说明

date:是指定的日期。 startDayOfWeek:非必填,是一周的开始时间,默认情况下每周从星期日开始(即周日为 0 )。你还可以将开始时间设置为 “Monday”(星期一)。

本函数输出值为 0 到 6 之间的整数。


示例

// 返回 2021/03/31 对应一周中的星期几。
公式:WEEKDAY("2021/03/31")
运算结果:3

// 返回 TODAY() 对应一周中的星期几。下列函数 TODAY() 是日期类型且单元格值为 2021/03/31 。
公式:WEEKDAY(TODAY())
运算结果:3



WEEKNUM()

返回指定日期对应为一年中的第几个星期。

WEEKNUM(date, [startDayOfWeek])

参数说明

date:是指定的日期。 startDayOfWeek:非必填,是一周的开始时间,默认情况下每周从星期日开始(即周日为 0 )。 你还可以将开始时间设置为 “Monday”(星期一)。

本函数输出值为整数。比如 6 ,代表该日期属于一年中的第 6 个星期。


示例

// 返回 2021/03/31 对应为一年中的第几个星期。
公式:WEEKNUM("2021/03/31")
运算结果:13

// 返回 2021/03/31 对应为一年中的第几个星期。将开始时间设置为 "Monday" 。
公式:WEEKNUM("2021/03/31", "Monday")
运算结果:13

// 返回 TODAY() 对应为一年中的第几个星期。下列函数 TODAY() 是日期类型且单元格值为 2021/03/31 。
公式:WEEKNUM(TODAY())
运算结果:13



DAY()

返回指定日期属于当月的第几号,输出格式为 1 - 31 之间的整数。

DAY(date)

参数说明

date:是指定的日期。 比如,数字 1 表示日期属于当月的第 1 号。


示例

// 返回 2021/03/31 属于当月的第几号。
公式:DAY("2021/03/31)
运算结果:31

// 返回 {完成日期} 属于当月的第几号。下列字段 {完成日期} 为日期类型且单元格值为 2021/03/31 。
公式:DAY({完成日期})
运算结果:31



HOUR()

返回指定日期的对应的时刻,输出格式为 0(12:00 am)到 23(11:00 pm)之间的整数。

HOUR(date)

参数说明

date:是指定的日期。


示例

// 返回 {打卡时间} 对应的时刻。下列字段 {打卡时间} 为日期类型且单元格值为 2021/03/31 10:30 。
公式:HOUR({打卡时间})
运算结果:10



MINUTE()

返回指定日期对应的分钟数,输出格式为 0 到 59 之间的整数。

MINUTE(date)

参数说明

date:是指定的日期。


示例

// 返回 {打卡时间} 对应的分钟数。下列字段 {打卡时间} 为日期类型且单元格值为 2021/03/31 10:30 。
公式:MINUTE({打卡时间})
运算结果:30



SECOND()

返回指定日期的秒数,输出格式为 0 到 59 之间的整数。

SECOND(date)

参数说明

date:是指定的日期。


示例

// 返回 {打卡时间} 对应的秒数。下列字段 {打卡时间} 为日期类型且单元格值为 2021/03/31 10:30 。
公式:SECOND({打卡时间})
运算结果:0



SET_LOCALE()

为指定日期时间设置特定的语言环境。

SET_LOCALE(date, locale_modifier)

参数说明

date:是指定日期。 locale_modifier:是语言环境说明符。

本函数必须与 DATETIME_FORMAT() 结合使用。点击链接可查看支持的语言环境说明符


示例

// 为 NOW() 设定中文语言环境。
公式:DATETIME_FORMAT(SET_LOCALE(NOW(), "zh-cn"), "LLLL")
运算结果:2021331日星期三下午521



SET_TIMEZONE()

为指定日期设置特定的时区。

SET_LOCALE(date, locale_modifier)

参数说明

date:是指定日期。 locale_modifie:是时区说明符。比如 “8” 代表东 8 区,“-2” 代表西 2 区。

本函数必须与 DATETIME_FORMAT() 结合使用。


示例

// 为 NOW() 设置东 8 区。
公式:DATETIME_FORMAT(SET_TIMEZONE(NOW(), 8), "M/D/YYYY h:mm")
运算结果:3/31/2021 5:38



CREATED_TIME()

返回创建该条记录的日期和时间。

CREATED_TIME()

参数说明

该函数不需要填写参数。


示例

// 返回创建该条记录的日期和时间。
公式:CREATED_TIME()
运算结果:2021/03/22 14:25



LAST_MODIFIED_TIME()

返回每一行的单元格中进行最后一次修改的时间。

LAST_MODIFIED_TIME([{field1},{field2},])

参数说明

注①:计算类型的字段(公式、神奇引用、自增数字、创建时间、创建人、修改人)等单元格值发生变化时,系统不会返回这些字段的修改时间。

如果你只关心特定维格列的单元格的更新时间,你可以指定一个或多个列,见例子二和三。


示例

// 返回每一行的单元格中进行最后一次修改的时间。第一行返回的更新时间是 2021/03/31 18:30。
公式:LAST_MODIFIED_TIME()
运算结果:2021/03/31 18:30

// 返回 {项目进度} 的单元格更新时间。
公式:LAST_MODIFIED_TIME({项目进度})
运算结果:2021/03/31 18:37

// 返回 {项目进度} 和 {任务分配} 的单元格更新时间。
公式:LAST_MODIFIED_TIME({项目进度}, {任务分配})
运算结果:2021/03/31 18:41