CEEGMT: 获取当前格林威治标准时间
CEEGMT 将当前格林威治标准时间 (GMT) 作为 Lilian 日期和自 1582 年 10 月 14 日 00:00:00 以来的秒数返回。 返回的值与其他 日期和时间 可调用服务生成和使用的值兼容。
- output_GMT_Lilian (输出)
- 32 位二进制整数,以 Lilian 格式 (自 1582 年 10 月 14 日以来的天数) 表示当前日期 (英国格林威治)。
例如, 1988 年 5 月 16 日是第 148138 号日。 如果 GMT 在系统中不可用,那么 output_GMT_Lilian 将设置为 0 ,并且 CEEGMT 将以 non-CEE000 符号反馈代码终止。
- output_GMT_seconds (输出)
- 64 位长浮点数,表示英国格林威治当前日期和时间,表示自 1582 年 10 月 14 日 00:00:00 以来的秒数,不计算闰秒。
例如, 1582 年 10 月 15 日的 00:00:01 是第二个数字 86,401 (24 * 60 * 60 + 01)。 19:00:01.078 1988 年 5 月 16 日是第二个数字 12,799,191 ,601.078。 如果 GMT 在系统中不可用,那么 output_GMT_seconds 将设置为 0 ,并且 CEEGMT 将以 non-CEE000 符号反馈代码终止。
- fc (输出)
- 指示此服务结果的 12 字节反馈代码 (可选)。
| 符号反馈代码 | 严重性 | 消息号 | 消息文本 |
|---|---|---|---|
| CEE000 | 0 | -- | 服务已成功完成。 |
| CEE2E6 | 3 | 2502 | UTC/GMT 在系统中不可用。 |
使用说明
- CEEDATE 将 output_GMT_Lilian 转换为字符日期,而 CEEDATM 将 output_GMT_seconds 转换为字符时间戳记。
- 为了使此服务的结果有意义,必须将系统的时钟设置为本地时间,并且必须正确设置环境变量 TZ。
- CEEGMT 返回的值适用于耗用时间计算。 例如,您可以通过计算返回值之间的差异来计算两次调用 CEEGMT 之间耗用的时间。
- CEEUTC 与此服务相同。
示例
*************************************************
** **
** Function: Call CEEGMT to get current **
** Greenwich Mean Time **
** **
** In this example, a call is made to CEEGMT **
** to return the current GMT as a Lilian date **
** and as Lilian seconds. The results are **
** displayed. **
** **
*************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. IGZTGMT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 LILIAN PIC S9(9) BINARY.
01 SECS COMP-2.
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-CBLGMT.
CALL 'CEEGMT' USING LILIAN , SECS , FC.
IF CEE000 of FC THEN
DISPLAY 'The current GMT is also '
'known as Lilian day: ' LILIAN
DISPLAY 'The current GMT in Lilian '
'seconds is: ' SECS
ELSE
DISPLAY 'CEEGMT failed with msg '
Msg-No of FC UPON CONSOLE
STOP RUN
END-IF.
GOBACK.
