Spotfire® 用户指南

日期和时间函数

下面的列表显示了可在表达式中使用的日期和时间函数。

函数 说明
DateAdd(Arg1, Arg2, Arg3) DateTimeDateTime 添加间隔。该方法可添加 TimeSpan 或表示指定日期或时间部分(例如,天数)的 Integer

如果要添加 TimeSpan,则需要两个参数:DateTime 列和 TimeSpan 列。

如果要向日期或时间部分添加整数值,则使用三个参数:Arg1 是一个字符串,说明要添加的部分。Arg2 是一个数字,其中包含要添加的部分数。Arg3DateTimeDateTime 列。

Arg1 的有效参数包括:

year”或“yy”- 年。

quarter”或“qq”- 季度。

month”或“mm”- 月。

day”或“dd”- 日。

week”或“wk”- 周。

hour”或“hh”- 小时。

minute”或“mi”- 分钟。

second”或“ss”- 秒。

millisecond”或“ms”- 毫秒。

isoyear”- ISO 8601 周数年。

isoweek”- ISO 8601 周数。

示例:

DateAdd([Date Column], [TimeSpan Column])

DateAdd('year', 2, [Date Column])

DateAdd('month', 1, [Date Column])

DateDiff(Arg1, Arg2, Arg3) 计算两个 DateTimeDateTime 列之间的差。结果以 TimeSpan 或表示指定时间部分(例如天数)的实数值显示。

如果使用了两个参数(开始日期列和停止日期列),则结果将是显示总体差的 TimeSpan 值。

如果使用了三个参数,则第一个参数应是要比较的部分。第二个参数是开始日期列,第三个参数是停止日期列。运算的结果为实数值。

Arg1 的有效参数包括:

year”或“yy”- 年。

quarter”或“qq”- 季度。

month”或“mm”- 月。

day of year”、“dayofyear”或“dy”- 年中第几日。

day”、“'day of month”、“dayofmonth”或“dd”- 日。

year and week”、“yearandweek”或“yywk”- 年和周。

week”或“wk”- 周。

day of week”、“dayofweek”、“weekday”或“dw”- 工作日。

hour”或“hh”- 小时。

minute”或“mi”- 分钟。

second”或“ss”- 秒。

millisecond”或“ms”- 毫秒。

isoyear”- ISO 8601 周数年。

isoweek”- ISO 8601 周数。

示例:

DateDiff([Order Date], [Delivery Date])

DateDiff('day', [Order Date], [Delivery Date])

例如,请参见计算时间差计算时间段

DatePart(Arg1, Arg2) 返回 DateTimeDateTime 的指定部分。Arg1 是说明要获取的日期部分的字符串,Arg2DateTimeDateTime 列。计算的基础数据是 Integer,但区域设置决定一些参数的格式化输出(“mm”、“qq”、“dw”)。

Arg1 的有效参数包括:

year”或“yy”- 年。

quarter”或“qq”- 季度。

month”或“mm”- 月。

day of year”、“dayofyear”或“dy”- 年中第几日。

day”、“'day of month”、“dayofmonth”或“dd”- 日。

year and week”、“yearandweek”或“yywk”- 年和周。

week”或“wk”- 周。

day of week”、“dayofweek”、“weekday”或“dw”- 工作日。

hour”或“hh”- 小时。

minute”或“mi”- 分钟。

second”或“ss”- 秒。

millisecond”或“ms”- 毫秒。

isoyear”- ISO 8601 周数年。

isoweek”- ISO 8601 周数。

示例:

DatePart('year', [Date Column])

DateTimeNow() 返回当前系统时间。

请注意,当在 Web 客户端中运行表达式或使用自动化服务时,返回的是服务(在服务器上)时区中的时间。

示例:

DateTimeNow()

例如,请参见计算时间差计算时间段

Day(Arg1) DateDateTime 列中提取月中第几日。结果是介于 1 和 31 之间的整数。

示例:

Day([Date Column])

DayOfMonth(Arg1) DateDateTime 列中提取月中第几日。结果是介于 1 和 31 之间的整数。

示例:

DayOfMonth([Date Column])

DayOfWeek(Arg1) DateDateTime 列中提取周中第几日。新列的基础数据是一个介于 0(星期日)到 6(星期六)之间的整数,但区域设置决定周的开始以及格式化输出。

示例:

DayOfWeek([Date Column])

DayOfYear(Arg1) DateDateTime 列中提取年中第几日。返回介于 1 和 366 之间的整数。

示例:

DayOfYear([Date Column])

Days(Arg1) 返回 TimeSpan 对应的天数,介于 -10675199 和 10675199 之间的 Integer 值;

或者,如果参数为 Integer 值,则创建一个 TimeSpan 列,其中输入为天数。

示例:

Days([TimeSpan Column])

Days(3)

FiscalMonth(Arg1, Arg2) 返回某日期所在的财政月。

第一个参数是 Date 列。第二个参数(可选)是要切换的月数。

如果未指定第二个参数,则会使用文档属性 FiscalYearOffset 的值。区域设置决定格式化输出。

在层级中使用时,FiscalMonth 方法会记录月份的排序顺序,以便以正确的顺序显示图表。例如,如果财年在一月结束,那么如下所示财年会在二月开始,而非一月:

图像中的层级可通过以下表达式构建:

<FiscalYear([Date Column],1) NEST FiscalMonth([Date Column],1)>

示例:

FiscalMonth([Date Column], 1)

FiscalMonth([Date Column])

FiscalQuarter (Arg1, Arg2) 根据月份 (Arg2) 中指定的切换返回日期 (Arg1) 所在的财政季度。

第二个参数为可选项。如果未指定第二个参数,则会使用文档属性 FiscalYearOffset 的值。

示例:

FiscalQuarter([Date Column], 1)

FiscalQuarter([Date Column])

FiscalYear (Arg1, Arg2) 根据月份 (Arg2) 中指定的切换返回日期 (Arg1) 所在的财政年。

第二个参数为可选项。如果未指定第二个参数,则会使用文档属性 FiscalYearOffset 的值。

示例:

FiscalYear([Date Column], 1)

FiscalYear([Date Column])

Hour(Arg1) DateTimeTime 列中提取小时。返回介于 0 和 23 之间的整数。

示例:

Hour([Time Column])

Hours(Arg1) 返回 TimeSpan 对应的小时数,介于 0 和 23 之间的 Integer 值;

或者,如果参数为 Integer 值,则创建一个 TimeSpan 列,其中输入为小时数。

示例:

Hours([TimeSpan Column])

Hours(10)

ISOWeek(Arg1) 为日期(Date 或 DateTime)返回 ISO 8601 格式的 ISO 周,返回值为介于 1 和 53 之间的整数。

示例:

ISOWeek([Date Column])

ISOYear(Arg1) 为日期(Date 或 DateTime)返回 ISO 8601 格式的 ISO 周数年,返回值为整数。

示例:

ISOYear([Date Column])

Millisecond(Arg1) DateTimeTime 列中提取毫秒。返回介于 0 和 999 之间的整数。

示例:

Millisecond([Time Column])

Milliseconds(Arg1) 返回 TimeSpan 对应的毫秒数,介于 0 和 999 之间的 Integer 值;

或者,如果参数为 Real 值,则创建 TimeSpan 列,其中输入为毫秒数。

示例:

Milliseconds([TimeSpan Column])

Milliseconds(123.45)

Minute(Arg1) DateTimeTime 列中提取分钟。返回介于 0 和 59 之间的整数。

示例:

Minute([Time Column])

Minutes(Arg1) 返回 TimeSpan 对应的分钟数,介于 0 和 59 之间的 Integer 值;

或者,如果参数为 Integer 值,则创建一个 TimeSpan 列,其中输入为分钟数。

示例:

Minutes([TimeSpan Column])

Minutes(50)

Month(Arg1) DateDateTime 列中提取月。新列的基础数据为介于 1 和 12 之间的整数,但区域设置会确定格式化输出。

示例:

Month([Date Column])

Quarter(Arg1) DateDateTime 列中提取季度。新列的基础数据为介于 1 和 4 之间的整数,但区域设置会确定格式化输出。

示例:

Quarter([Date Column])

Second(Arg1) DateTimeTime 列中提取秒。返回介于 0 和 59 之间的整数。

示例:

Second([Time Column])

Seconds(Arg1) 返回 TimeSpan 对应的秒数,介于 0 和 59 之间的 Integer 值;

或者,如果参数为 Integer 值,则创建一个 TimeSpan 列,其中输入为秒数。

示例:

Seconds([TimeSpan Column])

Seconds(10)

Today() 返回当前日期。

请注意,当在 Web 客户端中运行表达式或使用自动化服务时,返回的是服务(在服务器上)时区中的日期。

示例:

Today()

TotalDays(Arg1) 返回 TimeSpan 对应的天数,以整数天数和分数天数表示的实数值。

示例:

TotalDays([TimeSpan Column])

TotalHours(Arg1) 返回 TimeSpan 对应的小时数,以整数小时数和分数小时数表示的实数值。

示例:

TotalHours([TimeSpan Column])

TotalMilliseconds(Arg1) 返回 TimeSpan 对应的毫秒数,以整数毫秒数和分数毫秒数表示的实数值。

示例:

TotalMilliseconds([TimeSpan Column])

TotalMinutes(Arg1) 返回 TimeSpan 对应的分钟数,以整数分钟数和分数分钟数表示的实数值。

示例:

TotalMinutes([TimeSpan Column])

TotalSeconds() 返回 TimeSpan 对应的秒数,以整数秒数和分数秒数表示的实数值。

示例:

TotalSeconds([TimeSpan Column])

Week(Arg1) DateDateTime 列中提取周,以介于 1 和 54 之间的整数表示,其中年中的第一周取决于区域设置。另请参见 ISOWeek。

示例:

Week([Date Column])

Year(Arg1) DateDateTime 列中提取年。结果为 Integer 类型。另请参见 ISOYear。

示例:

Year([Date Column])

YearAndWeek(Arg1) DateDateTime 列中提取年和周。返回 Integer(年 * 100 + 周数)。例如,对于日期 2005-10-13,将返回 200541。计算取决于区域设置,并且在跨越年份边界时可能会产生不需要的结果。另请参见 ISOYearISOWeekBinByDateTime

示例:

YearAndWeek([Date Column])

有关详细信息,请参见时间层级的其他操作

另请参见函数