Tivoli 服务台 6.0 开发工具包脚本语言参考
返回主页
由系统定义的函数,返回当前时间。
FUNCTION $Now: TIME;
VARIABLES t: Time; ACTIONS t:=$Now;
由系统定义的函数,返回当前日期。
FUNCTION $Today: DATE;
VARIABLES d: Date; ACTIONS d:=$Today;
向日期添加日、月或年。
FUNCTION DateAdd (VAL d: DATE, VAL n: INTEGER [,$DAYS|$MONTHS|$YEARS] ): DATE;
自变量名称 | 说明 |
d | 向其添加 n 个单位的日期。 |
n | 要添加的数值。它必须是所定义的单位之一。 $DAYS $MONTHS $YEARS |
$DAYS, $MONTHS, $YEARS | 用于表达 n 的单位。如果省略了此自变量,则缺省值为 $DAYS。 |
该函数返回一个日期,它是 d 自变量日期以后的 n 自变量数值的日、月、年日期。如果 n 自变量是正值,则结果就是在给定的日期之后。如果 n 自变量是负值,则结果位于给定日期之前。
结果可以调整,以产生有效的日期。当单位参数是 $MONTHS 时,就会对结果进行调整,以允许月份具有 28 天和 30 天。
当单位参数是 $YEARS 时,就会对结果进行调整,以允许闰年。例如,如果在日期 1999 年 1 月 31 日的基础上增加一个月,结果就是 1999 年 3 月 3 日,而不是 1999 年 2 月 31 日。
dueDate := DateAdd(billingDate, 30);
返回计算结果。
计算两个日期之差。
FUNCTION DateDif (VAL day1: DATE, VAL day2: DATE [,$DAYS|$MONTHS|$YEARS] ): INTEGER;
自变量名称 | 说明 |
day1 | 一个日期表达式。 |
day2 | 一个日期表达式。 |
$DAYS、$MONTHS 或 $YEARS | 用于表达日期之差的单位。如果省略了此自变量,那么缺省值就是 $DAYS。 |
DateDif 计算两个日期之差,方法是从 day1 自变量减去 day2 自变量,并返回以日、月或年为单位的整数结果。
注:如果 day2 自变量比 day1 自变量离现在更近,将返回一个负数。
VARIABLES i: INTEGER; ACTIONS i:= DateDif ($Today,{1,1,1998}: DATE,$Days); (* calculates how many days it is since 1/1/1998 *)
DateAdd
检查或更改日期值的缺省文本格式。
FUNCTION DateFormat [ ( VAL format: INTEGER ) ] : INTEGER;
自变量名称 | 说明 |
格式 | 如果提供这个自变量,它将替换缺省格式。 |
在将日期值转换成文本格式时,使用此函数来检查和更改缺省格式。如果在没有自变量的情况下调用 DateFormat,它将返回当前缺省日期格式。
如果提供了自变量,该值将变成新的缺省日期格式。DateFormat 返回原来的缺省日期格式。
注:关于显示格式常量的列表,请参见"数据类型格式标志"。
CONSTANTS oracleDate IS $FmtDateYearMonthDay + $FmtDateTruncateCentury + $FmtDateDashSeparators + $FmtDateNamedMonth + $FmtDateShortNames + $FmtDateAllCaps + $FmtZeroPad; VARIABLES oldFormat: INTEGER; ACTIONS oldFormat := DateFormat (oracleFormat); ... DateFormat (oldFormat); END;
以指定单位向时间添加秒钟、分钟或小时。
FUNCTION TimeAdd (VAL t: TIME, VAL n: INTEGER [, $SECONDS|$MINUTES|$HOURS] ): TIME;
自变量名称 | 说明 |
t | 原始时间。 |
n | 要增加的时间量。选择范围是:
返回 t+n 之和的缺省单位是 $SECONDS。 |
TimeAdd
按指定的单位返回新时间。以小时、分钟或秒钟为单位返回两个时间之差。
FUNCTION TimeDif (VAL t1, t2: TIME [,$SECONDS|$MINUTES|$HOURS] ): INTEGER;
自变量名称 | 说明 |
t1 | 一个时间表达式。 |
t2 | 一个时间表达式。选择范围是:
返回差的缺省单位是 $SECONDS。 |
TimeDif 计算并返回两个时间表达式的差。从第一个自变量减去第二个自变量 (time_1-time_2),并按小时、分钟或秒钟表达,这取决于作为第三自变量而传送的系统常量。
当第三自变量是 $MINUTES 或 $HOURS时,结果将被截断。因此{7,0,0}:TIME 和{8,59,59}:TIME 之差是 7199 秒、119 分或 1 小时。
VARIABLES i: INTEGER; ACTIONS i:=TimeDif($Now,{8,30,0}: TIME,$Minutes); (* i = number of minutes since 8:30 this morning *) i:=TimeDif ($Now, TimeAdd({8,30,0}:TIME, 30, $MINUTES), $HOURS); (* i=number of hours since 8:30 this morning, rounded to *) (* the nearest hour *)
返回码 | 说明 |
任意值 | 时间差。 |
检查或更改时间值的缺省文本格式。
FUNCTION TimeFormat [ ( VAL format: INTEGER ) ] : INTEGER;
自变量名称 | 说明 |
format | 如果提供此自变量,它将替换缺省格式。 |
只要将这种类型的值转换成文本格式,TimeFormat 就会检查或更改缺省格式。
如果不带自变量调用 TimeFormat,它将返回现存的缺省时间格式。如果提供了自变量,该值将变成新的缺省时间格式。(返回原来的缺省格式。)
VARIABLES oldFormat: INTEGER; ACTIONS oldFormat := TimeFormat(BitOr($FmtTimeAMPM, $FmtTimeWithoutSeconds)); ... TimeFormat(oldFormat); END;
关于显示格式的解释,请参见数据类型格式标志。
Tivoli 服务台 6.0 开发工具包脚本语言参考