CEELOCT: 获取当前本地日期或时间
CEELOCT 以 Lilian 日期 (自 1582 年 10 月 14 日以来的天数) , Lilian 秒数 (自 1582 年 10 月 14 日 00:00:00 以来的秒数) 和 Gregorian 字符串 (YYYYMMDDHHMISS999) 返回当前本地日期或时间。
这些值与其他 日期和时间 可调用服务以及现有内部函数兼容。
CEELOCT 执行与单独调用 CEEGMT , CEEGMTO 和 CEEDATM 服务相同的功能。 然而,调用 CEELOCT 要快得多。
- output_Lilian (输出)
- 32 位二进制整数,以 Lilian 格式表示当前本地日期,即第 1 天等于 1582 年 10 月 15 日,第 148,887 天等于 4 1990 年 6 月。
如果本地时间在系统中不可用,那么 output_Lilian 将设置为 0 ,并且 CEELOCT 将终止并带有 non-CEE000 符号反馈代码。
- output_seconds (输出)
- 64 位长浮点数,表示当前本地日期和时间为自 1582 年 10 月 14 日 00:00:00 以来的秒数,不计入闰秒。 例如, 1582 年 10 月 15 日的 00:00:01 是第二个数字 86,401 (24 * 60 * 60 + 01)。 19:00:01.078 于 4 1990 年 6 月是第二个数字 12,863,905 ,201.078。
如果本地时间在系统中不可用,那么 output_seconds 将设置为 0 ,并且 CEELOCT 将终止,并带有 non-CEE000 符号反馈代码。
- output_Gregorian (输出)
- 格式为 YYYYMMDDHHMISS999 的 17 字节固定长度字符串,表示本地年,月,日,小时,分钟,秒和毫秒。
如果 output_Gregorian 的格式不满足您的需要,那么可以使用 CEEDATM 可调用服务将 output_seconds 转换为其他格式。
- fc (输出)
- 指示此服务结果的 12 字节反馈代码 (可选)。
| 符号反馈代码 | 严重性 | 消息号 | 消息文本 |
|---|---|---|---|
| CEE000 | 0 | -- | 服务已成功完成。 |
| CEE2F3 | 3 | 2531 | 本地时间在系统中不可用。 |
使用说明
- 您可以使用 CEEGMT 可调用服务来确定格林威治标准时间 (GMT)。
- 您可以使用 CEEGMTO 可调用服务来获取从 GMT 到本地时间的偏移量。
- CCEELOCT 返回的字符值旨在与现有内部函数生成的字符值相匹配。 返回的数字值可用于简化日期计算。
示例
************************************************
** **
** Function: Call CEELOCT to get current **
** local time **
** **
** In this example, a call is made to CEELOCT **
** to return the current local time in Lilian **
** days (the number of days since 14 October **
** 1582), Lilian seconds (the number of **
** seconds since 00:00:00 14 October 1582), **
** and a Gregorian string (in the form **
** YYYMMDDMISS999). The Gregorian character **
** string is then displayed. **
** **
************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. CBLLOCT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 LILIAN PIC S9(9) BINARY.
01 SECONDS COMP-2.
01 GREGORN PIC X(17).
01 FC.
02 Condition-Token-Value.
COPY CEEIGZCT.
03 Case-1-Condition-ID.
04 Severity PIC S9(4) COMP.
04 Msg-No PIC S9(4) COMP.
03 Case-2-Condition-ID
REDEFINES Case-1-Condition-ID.
04 Class-Code PIC S9(4) COMP.
04 Cause-Code PIC S9(4) COMP.
03 Case-Sev-Ctl PIC X.
03 Facility-ID PIC XXX.
02 I-S-Info PIC S9(9) COMP.
PROCEDURE DIVISION.
PARA-CBLLOCT.
CALL 'CEELOCT' USING LILIAN, SECONDS,
GREGORN, FC.
************************************************
** If CEELOCT runs successfully, display **
** Gregorian character string **
************************************************
IF CEE000 of FC THEN
DISPLAY 'Local Time is ' GREGORN
ELSE
DISPLAY 'CEELOCT failed with msg '
Msg-No of FC UPON CONSOLE
STOP RUN
END-IF.
GOBACK.
