目的
リアルタイム・クロックからのデータおよび日付を、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 (グリニッジ標準時
とも言う) で規定されていることに注意してください。
