CEEISEC は、年、月、日、時、分、秒、ミリ秒を表す 2 進整数を、1582 年 10 月 14 日の 00:00:00 から数えた秒数を表す数値に変換します。
input_year の有効な値範囲は 1582 から 9999 です。
input_month の有効な値範囲は 1 から 12 です。
input_day の有効な値範囲は 1 から 31 です。
input_hours の有効な値範囲は 0 から 23 です。
input_minutes の有効な値範囲は 0 から 59 です。
input_seconds の有効な値範囲は 0 から 59 です。
input_milliseconds の有効な値範囲は 0 から 999 です。
例えば、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 日分の秒数) で除算します。
| シンボリック・フィードバック・コード | 重大度 | メッセージ番号 | メッセージ・テキスト |
|---|---|---|---|
| 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.