Как вычислить пользовательскую метку времени в COBOL85 Tandem?

Я хочу рассчитать метку времени для пользовательской даты и времени. Например, 23.09.2022 4:30:45

1 ответ

Чтобы вычислить юлианскую временную метку текущей даты и времени, вы можете использовать JULIANTIMESTAMP с помощью ENTER TAL, но для пользовательской временной метки у нас есть COMPUTETIMESTAMP GPC.

Синтаксис из Справочного руководства GPC

      jval := COMPUTETIMESTAMP ( date-n-time,
                           [error-mask] );

Типы данных

jval — 64-битная фиксированная временная метка по юлианскому календарю.

date-n-time представляет собой целочисленный массив даты и времени [ГГГГ,ММ,ДД,ЧЧ,,ММ,СС,МИЛ,МИК], все элементы массива являются обязательными.

маска-ошибки представляет собой целочисленный массив битов 1 или 0 длиной 8.

Итак, давайте перейдем к основному вопросу, как рассчитать пользовательскую временную метку в COBOL85. У меня есть небольшой пример.

      ?ANSI
 ?save param
 ?symbols
 ?inspect
         IDENTIFICATION DIVISION.
             PROGRAM-ID. HELLO.

         ENVIRONMENT DIVISION.

         DATA DIVISION.
             WORKING-STORAGE SECTION.
                 01 USER-FLD-CUST  PIC X(50).
                 01 ARR.
                    03 DT          PIC S9(4) COMP OCCURS 8 TIMES.
                 01 VAL            PIC 9(16).
                 01 JTIME          PIC S9(18) VALUE 0.
                 01 CER.
                    03 ERR         PIC S9(1) COMP OCCURS 8 TIMES.


         PROCEDURE DIVISION.
             PROGRAM-BEGIN.
             MOVE 2022 TO DT(1).
             MOVE 99   TO DT(2).
             MOVE 30   TO DT(3).
             MOVE 10   TO DT(4).
             MOVE 00   TO DT(5).
             MOVE 00   TO DT(6).
             MOVE 000  TO DT(7).
             MOVE 000  TO DT(8).

             ENTER TAL "COMPUTETIMESTAMP" USING ARR , CER
                        GIVING JTIME.
             IF JTIME = -1
                 DISPLAY "INVALID DATE"
             ELSE
                 DISPLAY JTIME.
             STOP RUN.
Другие вопросы по тегам