日期

适用于:计算列计算表度量值视觉计算

datetime 格式返回指定日期。

语法

DAX
DATE(<year>, <month>, <day>)  

参数

术语 定义
year 表示年份的数字。

year 参数的值可以包含一到四位数字。 year 参数根据计算机使用的日期系统进行解释。

从 1900 年 3 月 1 日开始的日期受支持。

如果输入具有小数位数的数字,则数字将舍入。

对于大于 9999 或小于零的值(负值),该函数返回 #VALUE! 错误。

如果 year 值介于 0 和 1899 之间,则该值将添加到 1900 以生成最终值。 请参阅以下示例。 注意: 应尽可能对 year 参数使用四位数来防止不需要的结果。 例如,使用 07 返回 1907 作为年份值。
month 根据以下规则表示月份或计算的数字:

不支持负整数。 有效值为 1-12。

如果 month 为 1 到 12 的数字,则表示一年中的一个月。 1 表示 1 月,2 表示 2 月,依此直到 12 日表示 12 月。

如果输入的整数大于 12,则会发生以下计算:通过将 month 的值添加到 year来计算日期。 例如,如果你有 DATE(2008 年 18 月 1 日 18 日),则函数将返回一个与 2009 年 6 月 1 日等效的日期/时间值,因为 2008 年初添加了 18 个月,从而生成值 2009 年 6 月。 请参阅以下示例。
day 一个数字,表示日期或计算根据以下规则:

不支持负整数。 有效值为 1-31。

如果 day 是给定月份的最后一天从 1 到最后一天的数字,则表示月份的一天。

如果输入的整数大于给定月份的最后一天,则会发生以下计算:通过将 day 的值添加到 month来计算日期。 例如,在公式 DATE( 2008, 3, 32)中,DATE 函数返回一个等效于 2008 年 4 月 1 日的 datetime 值,因为 32 天将添加到 3 月初,生成值 4 月 1 日。

如果 day 包含小数部分,则会将其舍入为最接近的整数值。

返回值

返回指定的日期(datetime)。

言论

  • DATE 函数采用输入为参数的整数,并生成相应的日期。 在公式提供年、月和日的情况下,DATE 函数最有用。 例如,基础数据可能包含格式的日期,这些日期不能识别为日期,例如 YYYYMMDD。 可以将 DATE 函数与其他函数结合使用,将日期转换为可识别为日期的数字。

  • 与将日期存储为序列号Microsoft Excel 相比,DAX 日期函数始终返回 datetime 数据类型。 但是,如果需要,可以使用格式将日期显示为序列号。

  • 日期和时间还可以指定为文本,格式为 dt"YYYY-MM-DD"dt"YYYY-MM-DDThh:mm:ss"dt"YYYY-MM-DD hh:mm:ss"。 指定为文本时,不需要在表达式中使用 DATE 函数。 若要了解详细信息,请参阅 DAX 语法 |日期和时间

  • 在计算列或行级别安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。

例子

简单日期

以下公式返回 2009 年 7 月 8 日日期:

DAX
= DATE(2009,7,8)  

1899 年之前的几年

如果为 year 参数输入的值介于 0(零)和 1899 之间(含),则该值将添加到 1900 以计算年份。 以下公式返回 1908 年 1 月 2 日:(1900+08)。

DAX
= DATE(08,1,2)  

1899 年之后的几年

如果 year 介于 1900 和 9999 之间(含),则该值用作年份。 以下公式返回 2008 年 1 月 2 日:

DAX
= DATE(2008,1,2)  

月份

如果 month 大于 12,month 将该月数添加到指定年份的第一个月。 以下公式返回日期 2009 年 2 月 2 日:

DAX
= DATE(2008,14,2)  

如果 day 大于指定月份中的天数,day 将该天数添加到当月的第一天。 以下公式返回日期 2008 年 2 月 4 日:

DAX
= DATE(2008,1,35)  

日期和时间函数
DAY 函数
TODAY 函数