CEEGMTO: 从格林威治标准时间到本地时间获取偏移量

CEEGMTO 将值返回到表示本地系统时间与格林威治标准时间 (GMT) 之差的调用例程。

CALL CEEGMTO 语法

读取语法图跳过可视语法图CALL"CEEGMTO"USING偏移小时数,分钟偏移量,偏移秒数,FC.
offset_hours (输出)
32 位二进制整数,表示从 GMT 到本地时间的偏移量 (以小时为单位)。

例如,对于太平洋标准时间, offset_hours 等于 -8。

offset_hours 的范围是 -12 到 +13 (+ 13 = +12 时区中的夏令时)。

如果本地时间偏移量不可用,那么 offset_hours 等于 0 ,并且 CEEGMTO 将以 non-CEE000 符号反馈代码终止。

offset_minutes (输出)
32 位二进制整数,表示本地时间在 GMT 之前或之后的额外分钟数。

offset_minutes 的范围是 0 到 59。

如果本地时间偏移量不可用,那么 offset_minutes 等于 0 ,并且 CEEGMTO 以 non-CEE000 符号反馈代码终止。

offset_seconds (输出)
64 位长浮点数,表示从 GMT 到本地时间的偏移量 (以秒计)。

例如,太平洋标准时间比 GMT 晚 8 小时。 如果当地时间在标准时间内的太平洋时区,CEEGMTO将返回-28,800 (-8 * 60 * 60)。 offset_seconds 的范围是 -43,200 到 +46,800。 offset_seconds 可与 CEEGMT 一起用于计算本地日期和时间。

如果本地时间偏移量在系统中不可用,那么 offset_seconds 将设置为 0 ,并且 CEEGMTO 将以 non-CEE000 符号反馈代码终止。

fc (输出)
指示此服务结果的 12 字节反馈代码 (可选)。
表 1. CEEGMTO 符号条件
符号反馈代码 严重性 消息号 消息文本
CEE000 0 -- 服务已成功完成。
CEE2E7 3 2503 从 UTC/GMT 到本地时间的偏移量在系统中不可用。

使用说明

  • CEEDATM 将 offset_seconds 转换为字符时间戳记。
  • 为了使此服务的结果有意义,必须将系统时钟设置为本地时间,并且必须正确设置环境变量 TZ。

示例


*************************************************
**                                             **
** Function:  Call CEEGMTO to get offset from  **
**            Greenwich Mean Time to local     **
**            time                             **
**                                             **
** In this example, a call is made to CEEGMTO  **
** to return the offset from GMT to local time **
** as separate binary integers representing    **
** offset hours, minutes, and seconds. The     **
** results are displayed.                      **
**                                             **
*************************************************
 IDENTIFICATION DIVISION.
 PROGRAM-ID. IGZTGMTO.

 DATA DIVISION.
 WORKING-STORAGE SECTION.
 01  HOURS                   PIC S9(9) BINARY.
 01  MINUTES                 PIC S9(9) BINARY.
 01  SECONDS 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-CBLGMTO.
     CALL 'CEEGMTO' USING HOURS , MINUTES ,
         SECONDS , FC.

     IF CEE000 of FC  THEN
         DISPLAY 'Local time differs from GMT '
             'by: ' HOURS ' hours, '
             MINUTES ' minutes, OR  '
             SECONDS ' seconds. '
     ELSE
         DISPLAY 'CEEGMTO failed with msg '
             Msg-No of FC UPON CONSOLE
         STOP RUN
     END-IF.

     GOBACK.

相关任务  
设置环境变量