日期和时间功能
CLEM 包含一系列函数,用于处理具有表示日期和时间的字符串变量的日期时间存储的字段。
使用的日期和时间格式特定于每个流,并在流属性中指定。 日期和时间功能根据当前选定的格式解析日期和时间字符串。
当您在日期中指定仅使用两位数字 (即,未指定世纪) 的年份时, SPSS Modeler 将使用流属性中指定的缺省世纪。
| 函数 | 结果 | 描述 |
|---|---|---|
@TODAY |
字符串 | 如果在流属性中选择 回滚天数/分钟 ,那么此函数将以当前日期格式的字符串形式返回当前日期。 如果使用两位数的日期格式,并且未选择 回滚天数/分钟,那么此函数将在当前服务器上返回 $null$ 。 |
to_time(ITEM) |
时间 | 将指定字段的存储转换为时间。 |
to_date(ITEM) |
日期 | 将指定字段的存储转换为日期。 |
to_timestamp(ITEM) |
时间戳记 | 将指定字段的存储转换为时间戳。 |
to_datetime(ITEM) |
日期时间 | 将指定字段的存储转换为日期、时间或时间戳值。 |
datetime_date(ITEM) |
日期 | 返回数字 、字符串或时间戳的日期值。 请注意,这是唯一一个可将数字(以秒为单位)转换为日期的功能。 如果 ITEM 是一个字符串,则通过解析当前日期格式的字符串来创建日期。 流属性中指定的日期格式必须正确,此函数才能成功。 如果 ITEM 是数字,那么会将其解释为自基本日期 (或戳记) 以来的秒数。 一天中的零星时间被截断。 如果 ITEM 是时间戳,则返回时间戳的日期部分。 如果 ITEM 是日期,那么将返回未更改的日期。 |
date_before(DATE1, DATE2) |
布尔值 | 如果 DATE1 表示的日期或时间戳早于 DATE2。 否则,此函数将返回0。 |
date_days_difference(DATE1, DATE2) |
整数 | 到 DATE1 到 DATE2 ,以整数表示。 如果 DATE2 在 DATE1 ,则该函数返回一个负数。 |
date_in_days(DATE) |
整数 | 返回从基准日期到 DATE 表示的日期或时间戳之间的天数,以整数表示。 如果日期早于基准日期,则该函数返回负数。 您必须输入一个有效的日期,以便计算正确。 例如,您不应该将2001年2月29日指定为日期。 因为 2001 不是闰年,这个日期不存在。 |
date_in_months(DATE) |
实数 | 返回从基准日期到 DATE 表示的日期或时间戳之间的月数,以实数表示。 这是根据一个月的 30.4375 天得出的近似值。 如果日期早于基准日期,则该函数返回负数。 您必须输入一个有效的日期,以便计算正确。 例如,您不应该将2001年2月29日指定为日期。 因为 2001 不是闰年,这个日期不存在。 |
date_in_weeks(DATE) |
实数 | 返回从基准日期到 DATE 表示的日期或时间戳之间的周数,以实数表示。 这是基于一周有 7.0 天。 如果日期早于基准日期,则该函数返回负数。 您必须输入一个有效的日期,以便计算正确。 例如,您不应该将2001年2月29日指定为日期。 因为 2001 不是闰年,这个日期不存在。 |
date_in_years(DATE) |
实数 | 以实数形式返回从基准日期到 DATE 表示的日期或时间戳之间的年数。 这是根据一年有 365.25 天得出的近似值。 如果日期早于基准日期,则该函数返回负数。 您必须输入一个有效的日期,以便计算正确。 例如,您不应该将2001年2月29日指定为日期。 因为 2001 不是闰年,这个日期不存在。 |
date_months_difference (DATE1, DATE2) |
实数 | 到 DATE1 到 DATE2 ,以实数形式表示。 这是根据一个月的 30.4375 天得出的近似值。 如果 DATE2 在 DATE1 ,则该函数返回一个负数。 |
datetime_date(YEAR, MONTH, DAY) |
日期 | 为给定的年 、月 、日创建日期值。 参数必须是整数。 |
datetime_day(DATE) |
整数 | 根据给定的日期或时间戳返回日期。 结果是一个介于1到31之间的整数。 |
datetime_day_name(DAY) |
字符串 | 返回给定日期的全称。 参数必须是介于1(星期日)到7(星期六)之间的整数。 |
datetime_hour(TIME) |
整数 | 从时间或时间戳返回小时。 结果是一个介于0到23之间的整数。 |
datetime_in_seconds(TIME) |
实数 | 返回 TIME中存储的秒数部分。 |
datetime_in_seconds(DATE), datetime_in_seconds(DATETIME) |
实数 | 返回当前日期 或时间与基准日期(1900-01-01)之间的差值,以秒为单位。 |
datetime_minute(TIME) |
整数 | 从时间或时间戳返回分钟。 结果是一个介于0到59之间的整数。 |
datetime_month(DATE) |
整数 | 从日期或时间戳返回月份。 结果是一个介于1到12之间的整数。 |
datetime_month_name (MONTH) |
字符串 | 返回给定月份的完整名称。 参数必须为1到12之间的整数。 |
datetime_now |
时间戳记 | 以时间戳形式返回当前时间。 |
datetime_second(TIME) |
整数 | 返回 TIME 或时间戳的第二个值。 结果是一个介于0到59之间的整数。 |
datetime_day_short_name (DAY) |
字符串 | 返回给定日期的缩写名称。 参数必须是介于1(星期日)到7(星期六)之间的整数。 |
datetime_month_short_name (MONTH) |
字符串 | 返回给定月份的缩写名称。 参数必须为1到12之间的整数。 |
datetime_time(HOUR, MINUTE, SECOND) |
时间 | 返回指定小时 、分钟和秒的时间值。 参数必须是整数。 |
datetime_time(ITEM) |
时间 | 返回给定项目的计时值。 |
datetime_timestamp(YEAR, MONTH, DAY,
HOUR, MINUTE, SECOND) |
时间戳记 | 返回给定年份 、月份 、日期 、小时 、分钟和秒的时间戳值。 |
datetime_timestamp(DATE, TIME) |
时间戳记 | 返回给定日期 和时间的时间戳值。 |
datetime_timestamp (NUMBER) |
时间戳记 | 返回指定秒数的时间戳值。 |
datetime_weekday(DATE) |
整数 | 根据给定的日期或时间戳返回星期几。 |
datetime_year(DATE) |
整数 | 从日期或时间戳返回年份。 结果为整数,例如 2021。 |
date_weeks_difference (DATE1,
DATE2) |
实数 | 到 DATE1 到 DATE2 ,以实数形式表示。 这是基于一周有 7.0 天。 如果 DATE2 在 DATE1 ,则该函数返回一个负数。 |
date_years_difference (DATE1, DATE2) |
实数 | 到 DATE1 到 DATE2 ,以实数表示。 这是根据一年有 365.25 天得出的近似值。 如果 DATE2 在 DATE1 ,则该函数返回一个负数。 |
date_from_ywd(YEAR, WEEK, DAY) |
整数 | 使用ISO 8601标准将年、年中的周和周中的日转换为日期。 |
date_iso_day(DATE) |
整数 | 使用ISO 8601标准,从日期返回星期几。 |
date_iso_week(DATE) |
整数 | 使用ISO 8601标准,从日期返回一年中的星期。 |
date_iso_year(DATE) |
整数 | 使用ISO 8601标准,从日期返回年份。 |
time_before(TIME1, TIME2) |
布尔值 | 如果 TIME1 表示的时间或时间戳早于 TIME2。 否则,此函数将返回0。 |
time_hours_difference (TIME1, TIME2) |
实数 | 返回由 TIME1 和 TIME2 表示的时间或时间戳之间的时差,以实数形式返回。 如果在流属性中选择 回滚天数/分钟 ,那么将采用更高的 TIME1 值来引用前一天。 如果未选择回滚选项,那么较大的 TIME1 值会导致返回的值为负数。 |
time_in_hours(TIME) |
实数 | 以TIME 表示的时间以小时为单位,以实数形式返回。 例如,在时间格式 HHMM 下,表达式 time_in_hours('0130') 的计算结果为 1.5。 TIME 可以表示时间或时间戳。 |
time_in_mins(TIME) |
实数 | 返回TIME表示的时间(以分钟为单位),为实数。 TIME 可以表示时间或时间戳。 |
time_in_secs(TIME) |
整数 | 以整数形式返回 TIME 表示的时间(以秒为单位)。 TIME 可以表示时间或时间戳。 |
time_mins_difference(TIME1, TIME2) |
实数 | 返回由 TIME1 和 TIME2 表示的时间或时间戳之间的时差(以实数表示)。 如果在流属性中选择 回滚天数/分钟 ,那么将采用较大的 TIME1 值来引用前一天 (或前一小时,如果仅以当前格式指定了分钟和秒)。 如果未选择回滚选项,那么 TIME1 的较大值将导致返回的值为负数。 |
time_secs_difference(TIME1, TIME2) |
整数 | 返回由 TIME1 和 TIME2 表示的时间或时间戳之间的时差(以秒为单位),以整数形式返回。 如果在流属性中选择 回滚天数/分钟 ,那么将采用较大的 TIME1 值来引用前一天 (或前一小时,如果仅以当前格式指定了分钟和秒)。 如果未选择回滚选项,那么较大的 TIME1 值会导致返回的值为负数。 |