DATEDIF

该函数可返回「起始日期」与「终止日期」之间的整数天数、月份数或年数。

tip

This function is available since LibreOffice 3.6.


note

此功能是「用于 Office 应用程序的开放文档格式 (OpenDocument)」标准 1.2 版本的一部分。(ISO/IEC 26300:2-2015)


语法

DATEDIF(Start date; End date; Interval)

起始日期」是开始计算的日期。

终止日期」是计算终止的日期。终止日期必须晚于起始日期。

Interval is a string that determines how the difference will be calculated. Possible values are "d", "m", "y", "ym", "md" or "yd" regardless of the current language settings.

note

将日期作为公式一部分输入时,日期分隔符 (斜杠与短横线) 会被理解为算术运算符。因此,按此格式输入的日期无法正确识别为日期,导致错误计算。要保持日期作为公式一部分,请使用 DATE 函数,例如「DATE(1954;7;20)」或将日期放在引号内,使用 ISO 8601 标记法,例如「1954-07-20」。请避免使用受区域影响的日期格式,例如「07/20/54」,在其他区域设置下加载文档,会导致计算错误。


tip

支持 ISO 8601 日期时间格式 (及其分隔符扩展格式) 的无歧义转换。如果出现「#VALUE!」错误,请在「 - LibreOffice Calc - 公式」「详细计算设置」区域的「详细信息...」 按钮,「文本转换为数字」列表框,取消选择「生成 #VALUE! 错误」。


「间隔单位」有效值

返回值

"d"

「起始日期」与「终止日期」之间的整数天数。

"m"

「起始日期」与「终止日期」之间的整数月份数。

"y"

「起始日期」与「终止日期」之间的整数年数。

"ym"

「起始日期」与「终止日期」之间的整数月份数,忽略年数。

"md"

「起始日期」与「终止日期」之间的整数天数,忽略年月数。

"yd"

「起始日期」与「终止日期」之间的整数天数,忽略年数。


示例

生日计算。某人生于 1974-04-17。今天日期为 2012-06-13。

=DATEDIF("1974-04-17";"2012-06-13";"y")」得到 38。

=DATEDIF("1974-04-17";"2012-06-13";"ym")」得到 1。

=DATEDIF("1974-04-17";"2012-06-13";"md")」得到 27。

所以他已经 38 岁 1 个月零 27 天大了。

=DATEDIF(DATE(1974,4,17);"2012-06-13";"m")」得到 457, 他已存活 457 个月。

=DATEDIF("1974-04-17";"2012-06-13";"d")」得到 13937,他已存活 13937 天。

=DATEDIF("1974-04-17";DATE(2012;06;13);"yd")」得到 57, 他的生日是 57 天前。

请支持我们!