これらのルーチンは次の関数を実行します。
| 標準バージョン: システム時間を整数値 (0 GMT 1970/1/1 を起点とした秒数) として読み取る VMS バージョン: VMS バージョン: システム時間を文字 (hh:mm:ss) として読み取る | |
| システム時間を ASCII 文字列に変換する | |
| システム時間を現地時間の月、日などに分解する | |
| システム時間を GMT の月、日などに分解する | 
time() は、次のように呼び出します。
| INTEGER*4 time または INTEGER*8 n = time() Standard Version | |||
| 戻り値 | INTEGER*4 | 出力 | 0: 0: 0 GMT 1970/1/1 を起点とした秒数 | 
| INTEGER*8 | 出力 | 64 ビット環境では、time は INTEGER*8 の値を戻す | |
関数 time() は、グリニッジ時間で 1970 年 1 月 1 日 00 時 00 分 00 秒からの時間を秒数で示す整数を返します。これはオペレーティングシステム時計の値です。
例: time() - オペレーティングシステムに付属する標準バージョン
| demo% cat ttime.f
        INTEGER*4  n, time
        n = time()
        write(*,*) '1970/1/1 0 時 GMT からの秒数 = ', n
        end
demo% f95 ttime.f
demo% a.out
 1970/1/1 0 時 GMT からの秒数 =   913240205
demo% | 
関数 ctime は、システム時間 stime を変換して、24 文字の ASCII 文字列として返します。
関数は、次のように呼び出します。
| CHARACTER ctime*24 string = ctime( stime ) | |||
| stime | INTEGER*4 | 入力 | time() で読み取ったシステム時間 (標準バージョン) | 
| 戻り値 | character*24 | 出力 | 文字列に変換されたシステム時間。ctime と string は character*24 として型宣言する | 
次に ctime が戻す値の書式を示します。詳細については、 ctime(3C) のマニュアルページを参照してください。
例: ctime():
| demo% cat tctime.f
        character*24 ctime, string
        INTEGER*4  n, time
        n = time()
        string = ctime( n )
        write(*,*) ’ctime: ’, string
        end
demo% f95 tctime.f
demo% a.out
 ctime: Wed Dec  9 13:50:05 1998
demo% | 
このルーチンはシステム時間を現地時間の月、日などに分解します。
サブルーチンは、次のように呼び出します。
| call ltime( stime, tarray ) | |||
| stime | INTEGER*4 | 入力 | time() で読み取ったシステム時間 (標準バージョン) | 
| tarray | INTEGER*4(9) | 出力 | 現地時間の日、月、年、... に分解されたシステム時間 | 
tarray の要素の意味については、次のセクションを参照してください。
| demo% cat tltime.f
        integer*4  stime, tarray(9), time
        stime = time()
        call ltime( stime, tarray )
        write(*,*) ’ltime: ’, tarray
        end
demo% f95 tltime.f
demo% a.out
 ltime: 25 49 10 12 7 91 1 223 1
demo% | 
このルーチンはシステム時間を GMT の月、日などに分解します。
サブルーチン
| call gmtime( stime, tarray ) | |||
| stime | INTEGER*4 | 入力 | time() で読み取ったシステム時間 (標準バージョン) | 
| tarray | INTEGER*4(9) | 出力 | GMT の日、月、年、... に分解されたシステム時間 | 
| demo% cat tgmtime.f
        integer*4  stime, tarray(9), time
        stime = time()
        call gmtime( stime, tarray )
        write(*,*) ’gmtime: ’, tarray
        end
demo% f95t tgmtime.f
demo% a.out
 gmtime:   12  44  19  18  5  94  6  168  0
demo% | 
次に ltime と gmtime の tarray() の値 (インデックス、単位、範囲) を示します。
| 1 2 3 4 5 | 秒 (0 - 61) 分 (0 - 59) 時間 (0 - 23) 日 (1 - 31) 月 (0 - 11) | 6 7 8 9 | 年 - 1900 曜日 (日曜 = 0) 日 (通年) (0 - 365) 夏時間: 夏時間が有効な場合、1 | 
これらの値は、C ライブラリルーチン ctime(3C) で定義されています。システムが 59 を超える秒を返す理由についてもここで説明されています。参照: idate(3F)、および fdate(3F).
これらは、ctime、gmtime、ltime の対応するバージョンで、64 ビット環境での移植性を実現します。変数 stime が INTEGER*8 であることを除けば、これらのルーチンは 32 ビット用と同じです。
32 ビット環境で INTEGER*8 の stime を指定して ctime64 を使用すると、stime の値が INTEGER*4 の範囲を超えている場合、すべてアスタリスク (*) が返されます。 gmtime と ltime の場合、tarray 配列が -1 で埋められます。