Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


CEEISEC - 整数から秒への変換

CEEISEC は、年、月、日、時、分、秒、ミリ秒を表す 2 進整数を、1582 年 10 月 14 日の 00:00:00 から数えた秒数を表す数値に変換します。

CALL CEEISEC の構文
構文図を読む構文図をスキップする>>-CALL--"CEEISEC"--USING--input_year,--input_months,----------->
 
>--input_day,--input_hours,--input_minutes,--input_seconds,----->
 
>--input_milliseconds,--output_seconds,--fc.-------------------><
 
input_year (入力)
年を表す 32 ビットの 2 進整数。

input_year の有効な値範囲は 1582 から 9999 です。

input_month (入力)
月を表す 32 ビットの 2 進整数。

input_month の有効な値範囲は 1 から 12 です。

input_day (入力)
日を表す 32 ビットの 2 進整数。

input_day の有効な値範囲は 1 から 31 です。

input_hours (入力)
時を表す 32 ビットの 2 進整数。

input_hours の有効な値範囲は 0 から 23 です。

input_minutes (入力)
分を表す 32 ビットの 2 進整数。

input_minutes の有効な値範囲は 0 から 59 です。

input_seconds (入力)
秒を表す 32 ビットの 2 進整数。

input_seconds の有効な値範囲は 0 から 59 です。

input_milliseconds (入力)
ミリ秒を表す 32 ビットの 2 進整数。

input_milliseconds の有効な値範囲は 0 から 999 です。

output_seconds (出力)
1582 年 10 月 14 日の 00:00:00 から数えた (うるう秒は数えない) 秒数を表す、64 ビット長の浮動小数点数。

例えば、1582 年 10 月 15 日の 00:00:01 は秒数 86,401 (24*60*60 + 01) に相当します。output_seconds の有効範囲は 86,400 から 265,621,679,999.999 (9999 年 12 月 31 日の 23:59:59.999) です。

入力値が無効な場合は、output_seconds が 0 に設定されます。

output_seconds をリリアン日数に変換するには、output_seconds を 86,400 (1 日分の秒数) で除算します。

fc (出力)
このサービスの結果を示す 12 バイトのフィードバック・コード (オプション)。

表 91. CEEISEC のシンボリック条件
シンボリック・フィードバック・コード 重大度 メッセージ番号 メッセージ・テキスト
CEE000 0 サービスが正しく完了した。
CEE2EE 3 2510 CEEISEC または CEESECS への呼び出しで時間の値が認識されませんでした。
CEE2EF 3 2511 CEEISEC の呼び出しで渡された日のパラメーターが、指定された年および月に対して無効です。
CEE2EH 3 2513 CEEISEC、CEEDAYS、CEESECS のいずれかの呼び出しで渡された入力日付が、対応範囲内にありませんでした。
CEE2EI 3 2514 CEEISEC の呼び出しで渡された年の値が、対応範囲内にありませんでした。
CEE2EJ 3 2515 CEEISEC 呼び出し内のミリ秒の値が認識されませんでした。
CEE2EK 3 2516 CEEISEC 呼び出し内の分の値が認識されませんでした。
CEE2EL 3 2517 CEEISEC 呼び出し内の月の値が認識されませんでした。
CEE2EN 3 2519 CEEISEC 呼び出し内の秒の値が認識されませんでした。

使用上の注意: CEEISEC の逆は CEESECI です。CEESECI は、秒数を整数の年、月、日、時、分、秒、ミリ秒に変換します。

CBL LIB
      *************************************************
      **                                             **
      ** Function: Call CEEISEC to convert integers  **
      **           to seconds                        **
      **                                             **
      *************************************************
       IDENTIFICATION DIVISION.
       PROGRAM-ID. CBLISEC.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  YEAR                    PIC S9(9) BINARY.
       01  MONTH                   PIC S9(9) BINARY.
       01  DAYS                    PIC S9(9) BINARY.
       01  HOURS                   PIC S9(9) BINARY.
       01  MINUTES                 PIC S9(9) BINARY.
       01  SECONDS                 PIC S9(9) BINARY.
       01  MILLSEC                 PIC S9(9) BINARY.
       01  OUTSECS                 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-CBLISEC.
      *************************************************
      ** Specify seven binary integers representing  **
      ** the date and time as input to be converted  **
      ** to Lilian seconds                           **
      *************************************************
           MOVE 2000 TO YEAR.
           MOVE 1 TO MONTH.
           MOVE 1 TO DAYS.
           MOVE 0 TO HOURS.
           MOVE 0 TO MINUTES.
           MOVE 0 TO SECONDS.
           MOVE 0 TO MILLSEC.
      *************************************************
      ** Call CEEISEC to convert the integers        **
      ** to seconds                                  **
      *************************************************
           CALL 'CEEISEC' USING YEAR, MONTH, DAYS,
                                HOURS, MINUTES, SECONDS,
                                MILLSEC, OUTSECS , FC.
      *************************************************
      ** If CEEISEC runs successfully, display result**
      *************************************************
           IF CEE000 of FC  THEN
               DISPLAY MONTH '/' DAYS '/' YEAR
                 ' AT ' HOURS ':' MINUTES ':' SECONDS
                 ' is equivalent to ' OUTSECS ' seconds'
           ELSE
               DISPLAY 'CEEISEC failed with msg '
                 Msg-No of FC UPON CONSOLE
               STOP RUN
           END-IF.

           GOBACK.

ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)