DATE_AND_TIME(DATE, TIME, ZONE, VALUES)

目的

リアルタイム・クロックからのデータおよび日付を、ISO 8601:1988 に 定義されている表記法と互換性のある形式で戻します。

クラス

サブルーチン

引き数の型と属性

DATE (オプション)
スカラーで、型がデフォルト文字でなければならず、 完全な値を含むためには、最低でも長さが 8 でなければなりません。 これは、INTENT(OUT) 引き数です。 その左端の 8 文字は CCYYMMDD 形式に設定され、 この CC は世紀、YY は年、 MM は月、DD は日を表します。 日付が入力されないと、これらの文字は、 ブランクに設定されます。

TIME (オプション)
スカラーで、型がデフォルト文字でなければならず、 完全な値を含むためには、最低でも長さが 10 でなければなりません。 これは、INTENT(OUT) 引き数です。 この左端の 5 文字は hhmmss.sss 形式の値に設定され、 この hh は日の中の時間、mm は時間の中の分、ss.sss は秒とミリ秒です。 使用可能なクロックがない場合には、ブランクに設定されます。

ZONE (オプション)

スカラーで、型がデフォルト文字でなければならず、 完全な値を含むためには、最低でも長さが 5 なければなりません。 これは、INTENT(OUT) 引き数です。この左端の 5 文字は ±hhmm 形式の 値に設定され、この hh と mm は 協定世界時 (UTC) に対する時差であり、 hh は時間、mm は分を表します。 使用可能なクロックがない場合には、ブランクに設定されます。

ハードウェア上で時間帯が正しく設定されていない場合、ZONE の値が 誤っている可能性があります。手操作で TZ 環境変数を設定し、 正しい時間帯にしてください。

VALUES (オプション)
型 はデフォルト整数で、ランクは 1 でなければなりません。 これは、INTENT(OUT) 引き数です。そのサイズは最低でも 8 なければなりません。 VALUES で戻される値は次のとおりです。

VALUES(1)
年 (たとえば 1998) で、有効な日付がない場合は、-HUGE (0) です。

VALUES(2)
月で、有効な日付がない場合は -HUGE (0) です。

VALUES(3)
日付で、有効な日付がない場合は -HUGE (0) です。

VALUES(4)
協定世界時 (UTC) に関する時間差 (分単位) で、 この情報が有効でない場合は -HUGE (0) です。

VALUES(5)
時間で、範囲は 0 から 23 で、クロックが存在しない場合は -HUGE (0) です。

VALUES(6)
分で、範囲は 0 から 59 で、クロックが存在しない場合は -HUGE (0) です。

VALUES(7)
秒で、範囲は 0 から 60 で、クロックが存在しない場合は -HUGE (0) です。

VALUES (8)
ミリ秒で、範囲は 0 から 999 で、クロックが存在しない場合は -HUGE (0) です。

以下にプログラムを示します。

INTEGER DATE_TIME (8)
CHARACTER (LEN = 10) BIG_BEN (3)
CALL DATE_AND_TIME (BIG_BEN (1), BIG_BEN (2), &
                    BIG_BEN (3), DATE_TIME)

スイスのジュネーブで 1985 年 4 月 12 日の 15:27:35.5 に 実行される場合には、このプログラムは値 19850412 を BIG_BEN(1) に、 値 152735.500 を BIG_BEN(2) に、値 +0100 を BIG_BEN(3) に、 値 1985, 4, 12, 60, 15, 27, 35, 500 を DATE_TIME にそれぞれ割り当てます。

UTC が CCIR (国際無線通信諮問機関) の勧告 460-2 (グリニッジ標準時 とも言う) で規定されていることに注意してください。 IBM Copyright 2003